Oracle Governance, Risk and Compliance: Security Implementation Guide Release 8.6.4.3000
Oracle Governance, Risk and Compliance: Security Implementation Guide Release 8.6.4.3000
Oracle Governance, Risk and Compliance: Security Implementation Guide Release 8.6.4.3000
August 2012
Oracle Governance, Risk and Compliance Security Guide
Part No. E36192-01
Copyright © 2012 Oracle Corporation and/or its affiliates. All rights reserved.
Primary Author: David Christie
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of
their respective owners.
The software and related documentation are provided under a license agreement containing restrictions on use
and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license
agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit,
distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering,
disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of
the U.S. Government, the following notice is applicable.
Contents iii
Security for a New EGRCM Module ............................................... 2-23
Define Data Roles for the New Module ................................... 2-25
Define Perspective Data Roles for Data-Level Security .......... 2-26
Define New Job Roles ............................................................. 2-26
A Appendix
Troubleshooting ...............................................................................A-1
Impact of Changing a Perspective Used in Data Roles....................A-1
This Preface introduces the guides and other information sources available to help
you more effectively use Oracle Fusion Applications.
This Implementation Guide is meant to provide helpful guidance on the usage of the
product. Think of this document as a combination FAQ and helpful “Tips and
Tricks.”
It is a supplement to the official product documentation (such as the User Guide and
Installation Guide), and is not intended to replace it. If discrepancies exist between
this Implementation Guide and the official product documentation, the guidance and
functional commentary provided by official documents supersede any that may be
written here.
Disclaimer
The information contained in this document is intended to outline our general
product direction and is for informational sharing purposes only, and should be
considered in your capacity as a customer advisory board member or pursuant to
your beta trial agreement only. It is not a commitment to deliver any material, code,
or functionality, and should not be relied upon in making purchasing decisions. The
development, release, and timing of any features or functionality described in this
document remains at the sole discretion of Oracle. This document in any form,
software or printed matter, contains proprietary information that is the exclusive
property of Oracle. Your access to and use of this confidential material is subject to
the terms and conditions of your Oracle software license and service agreement,
which has been executed and with which you agree to comply. This document and
information contained herein may not be disclosed, copied, reproduced or
distributed to anyone outside Oracle without prior written consent of Oracle. This
document is not part of your license agreement nor can it be incorporated into any
contractual agreement with Oracle or its subsidiaries or affiliates.
Preface v
Other Information Sources
My Oracle Support
Oracle customers have access to electronic support through My Oracle Support. For
information, visit http://www.oracle.com/support/contact.html or visit
http://www.oracle.com/accessibility/support.html if you are hearing impaired.
Use the My Oracle Support Knowledge Browser to find documents for a product
area. You can search for release-specific information, such as patches, alerts, white
papers, and troubleshooting tips. Other services include health checks, guided life
cycle advice, and direct contact with industry experts through the My Oracle
Support Community.
Documentation Accessibility
For information about Oracle’s commitment to accessibility, visit the Oracle
Accessibility Program website at http://www.oracle.com/us/corporate/accessibility
/index.html.
Oracle Governance, Risk and Compliance (GRC) is a set of components that regulate
activity in business-management applications:
• Oracle Enterprise Governance, Risk and Compliance Controls (EGRCC) com-
prises two elements, Application Access Controls Governor (AACG) and Enter-
prise Transaction Controls Governor (ETCG). These enable users to create models
and controls and to run them within business applications to uncover and resolve
segregation of duties violations and transaction risk.
• Oracle Enterprise Governance, Risk and Compliance Manager (EGRCM) forms
a documentary record of a company’s strategy for addressing risk and complying
with regulatory requirements. In enables users to define risks to the company’s
business, controls to mitigate those risks, and other objects, such as business
processes in which risks and controls apply.
• Fusion GRC Intelligence (GRCI) provides dashboards and reports that present
summary and detailed views of data generated in EGRCM and EGRCC.
GRC components run as modules in a shared platform. EGRCC runs as a Continu-
ous Controls Monitoring (CCM) module. EGRCM provides a Financial Governance
module by default, and users may create other EGRCM modules to address other
areas of the company’s business.
Because these components share a common platform, they also share a system for
securing GRC functionality and data. In this system, duty roles define narrowly focused
sets of privileges and are then combined into broader job duty roles. Primary data
roles specify narrowly focused sets of data and are then combined to form broader
composite data roles. Finally, job roles combine job duty roles with composite data
roles, and are assigned to users.
Moreover, administrators can define perspective hierarchies, each of which is a set
of related values. Users can associate individual perspective values with individual
objects (such as EGRCM risks or EGRCC models). A composite data role may be
associated with perspective values, and if so would grant access only to data con-
cerning objects associated with those perspective values. Assuming, for example,
that a Region perspective includes a US value, and a Business Process perspective
Security Checklist
To set up security in GRC, complete the steps in the following checklist. You must
complete the steps identified as required. Complete the optional step only if you
want to use the functionality implemented by that step.
Each step is described in further detail later in this document. In addition, the
description for each checklist step includes a reference to a section and chapter of
related documentation, or the current document, where you can find full information
about the procedures for completing each step.
1 Required: Review delivered duty roles and, if you deem it necessary,
create new duty roles.
The application is delivered with a set of duty roles that are collections
of functional tasks to be performed within the various areas of the appli-
cation. The functionality included in each duty role represents work the
user can perform within a job role. What is delivered may or may not
align with how your organization segregates work responsibilities, or a
delivered duty role may have functionality you do not wish to use. If
you need to make changes, create a new duty role by copying one that
was delivered, and then removing or adding functionality.
See the “Security Administration” chapter (page 2-1), as well as
“Managing Roles” in the GRC User Guide.
2 Required: Review delivered data roles, and consider using them as
foundations for new roles that add perspective filters.
Data roles define the data to which users have access within their job
roles. A primary data role selects data associated with a module, one or
more object states, and one or more actions that can be performed at the
specified states. A composite data role combines primary data roles and
may be associated with one or more perspective values; if so, it grants
access only to data also associated with those perspective values.
For EGRCC, three system perspectives — CCM Type, Business Object,
and Datasource — are seeded in composite data roles for the CCM mod-
ule. So by default, seeded CCM job roles for managing models, controls,
conditions, and incident results allow access to Transaction and Access
(CCM Type) data, as well as all datasources and business objects. Con-
sider creating new composite data roles with additional perspective filters
that define appropriate security access.
For EGRCM, no perspective filters are delivered with the data roles,
since they are totally dependent on the perspectives you choose to use
for each module. The product is delivered with a set of composite data
roles for the Financial Governance module for each of the delivered job
roles. Consider creating new custom data roles that reference the seeded
composite data roles and add the perspective filters necessary to define
appropriate security access.
GRC security employs a standard role-based access control (RBAC) model. You
can combine security components — privileges, data roles, duty roles, and job roles
— to define “who can do what on which set of data.” The “who” is a user assigned a
job role. Within the job role, two types of duty role (which ultimately invoke sets of
privileges) determine the “what,” and data roles determine the “which set of data.”
This structure supports reusability: To define new job roles, you can use a given
functional-access definition (set of duty roles) over and over again with varying data-
access definitions (sets of data roles). Likewise you can use a given data definition
with any number of functional definitions. Keep the concept of reusability in mind
as you build out duty and data roles.
Security Components
GRC assigns individual users distinct combinations of rights to data and to func-
tionality. To define access to functionality, it uses these components:
• A “privilege” is a specific feature GRC can make available to users.
• A “duty role” is a set of privileges. Each duty role defines one or more tasks a
user can complete in the application — for example creating controls, or approv-
ing changes to them.
• A “job duty role” is a set of duty roles. It encompasses the functionality a user
needs to do a large-scale job such as Control Manager or Risk Manager.
To define access to data, GRC uses these components:
• A “primary data role” defines a narrowly focused set of data. Each primary data
role sets at least three conditions: data must belong to a specified module; exist
at one or more specified states; and be subject to specified actions.
If a primary data role supports assessment activities in EGRCM, it sets a fourth
condition: data must be associated with a specified value for a seeded perspec-
tive called Activity Type.
If a primary data role supports work with models, continuous controls, or inci-
dent results in EGRCC, it sets a fourth condition: data must be associated with a
value for a seeded CCM Type perspective, which distinguishes between data for
use by AACG and data for use by ETCG.
Privileges
A privilege is the most granular aspect of functional access — a reference to a specific
application resource, and the means to grant functional access to the user. Each privi-
lege has a name that describes its functionality, a navigator entry identifying the nav-
igator component in which it is included, and an activity identifying the type of activity
it is part of. The following table contains a few privileges for EGRCM controls:
Navigator Activity Privilege
Control Management Control Management View Control
View Control Approval History
View Control Assessment Approval
History
Control Maintenance Create Control
Delete Control
Create Control from Related
Components
Edit Control
Create Issue for Control Definition
Review Control Changes
Approve Control Changes
Control Assessment Create Control Adhoc Assessment
Create Issue for Control Assessment
Duty Roles
A duty role is a collection of privileges. Each represents a set of functional tasks
needed for a unit of work within the application — a particular aspect of work to be
performed. The following list presents a few EGRCM control duty roles, and their
privileges:
• Create New Control: Privileges include Create Control and Delete Control.
• Control Management: Privileges include Create Control, Create Control from
Related Components, and Edit Control
• Control Viewing: Privileges include View Control, View Control Approval
History, and View Control Assessment Approval History.
• Review Control: Includes the Review Control Changes privilege.
• Approval Control: Includes the Approve Control Changes privilege.
Job Roles
The job role is the combination of functional access and data access. It references
one or multiple job duty roles and a composite data role, defining the complete set
of functional and data access needed for a job.
As an example, for EGRCM the Control Manager Job Role includes the Control
Manager Data Role and the Control Manager Job Duty Role.
User
The user is the actual person using the application. Each user has a security profile
that includes identifying information and defines the user’s access to the system. A
user can have one or multiple job roles. When signing into the application, the user
is granted access that is the combination of all the job roles the user is given.
The unshaded components are seeded, and represent the Control Manager job role,
which grants the ability to create, edit, delete, and view controls. You can define
data access so that users can perform these actions only on controls associated with
a perspective value. To do so, you create a custom perspective data role, and then
include that role within a custom job role.
Suppose also that you include this role along with seeded job duty and data roles in
a job role:
Name: Financial Governance Control Manager for Division1 Job Role
Description: Maintain controls for Division1
Role Type Role
Job Role Control Manager Job Duty Role [seeded]
Data Role Control Manager Data Role [seeded]
Data Role Division1 Data Role
This configuration would produce results that differ from the data-level-security
example illustrated on page 2-7, granting access to all controls for which either of
the following is true:
• A control is associated with the Division1 perspective value, even if it does not
satisfy conditions defined in the Control Manager Data Role.
• A control satisfies conditions defined in the Control Manager Data Role, even if
it is not associated with the Division1 perspective value: It exists in the Finan-
cial Governance module AND in one of the following state/action combinations:
– Control State equals any of New State Control, In Edit State Control,
Rejected State Control, or Approved State Control, AND Action equals Edit.
– Control State equals New State Control AND Action equals Delete.
– Control State equals any of New State Control, In Edit State Control, In
Review State Control, Awaiting Approval State Control, Request for
Information in Review State Control, Request for Information in Approval
State Control, Rejected State Control, or Approved State Control AND
Action equals View.
Because the Division 1 Data Role criterion is not included with the Control Man-
ager Data Role criteria, the user has access to view, but take no other actions on,
controls whose perspective value is equal to Division1.
State Action
The state of an object identifies where it is within its life cycle. As activities are per-
formed on an object, its state changes. Activities include updating values and sub-
mitting the change for review and approval, rejecting or approving the change, marking
the remediation of an issue complete, closing an issue, and so forth.
The actions that can be performed against an object are determined by its state. Not
all actions or activities are appropriate when an object is in a given state. This is con-
trolled through the inclusion of the state within the primary data role. Duty roles
identify specific sets of functional access and actions (privileges) a job role is granted.
The state within the primary data role identifies which state the object must be in for
this functional access and set of actions to be available.
The following tables list states appropriate to EGRCM objects and CCM objects, and
actions appropriate to each state. Refer to these tables as you define custom primary
data roles.
Make a note of the set of states that are appropriate for an action. When defining
new primary data roles, you must include the correct state action for the appropriate
EGRCM Objects
Risk and Risk Objects A–J, Event, Consequence, Control and Control Objects A–J,
Process, Base Object A–F, Perspective, Assessment Template, Assessment Plan, and
Survey Template
State Description
New Created and saved
In Edit Changes made and saved, but not submitted
In Review Submitted and awaiting review
Awaiting Approval Review completed and awaiting approval
Additional Information in Review In review, and the reviewer has asked for more
information
Additional Information in Approval Awaiting approval, and the approver has asked for
more information
Rejected Rejected during either review or approval
Approved Approved
Assessment Result
State Description
New New assessment available for assessor to complete
In Edit Changes made and saved, but not submitted
In Review Completed assessment is submitted and awaits review
Awaiting Approval Review completed and awaiting approval
Additional Information in Review In review, and the reviewer has asked for more
information
Additional Information in Approval Awaiting approval, and the approver has asked for
more information
Rejected Rejected during either review or approval
Approved Approved
Issue
State Description
New Created and saved
Reported Submitted for validation
In Edit Changes made and saved, but not yet submitted
Remediation Plan
State Description
New Created and saved
In Edit Changes made and saved, but not yet submitted
In Review Submitted change is available for review
Awaiting Approval Review completed and awaiting approval
Additional Information in Review In review, and the reviewer has asked for more
information
Additional Information in Approval Awaiting approval, and the reviewer has asked for more
information
Rejected Rejected during either review or approval
Approved Approved
Completed Review Remediation is completed and is in review
Completed Approve Review completed for a completed remediation, which
awaits approval
Completed Additional Information A completed remediation is in review, and the reviewer
in Review has asked for more information
Completed Additional Information A completed remediation awaits approval, and the
in Approval approver has asked for more information
Assessment
State Description
New Created and saved
Active Active assessment
Closed Closed
Survey
State Description
New Created and saved
Open Open and available for responders
Closed Closed
Continuous Control
State Description
Approved Continuous control created or edited
Model
State Description
Approved Model created or edited
Invalid After an upgrade, model validation fails
Perspective Matching Based on the Data Roles within the Job Role
When an object contains perspectives, a user’s data roles must have at least one of
the object’s perspective values in order for the user to have access to the object.
When a job role contains data roles with perspectives, the system compares all the
perspective values within the data role against those in the object.
The data role drives which perspectives to match on for the user:
• For the user to have access to the data, at least one value for each perspective
filter within the data role must match a perspective value associated with the
object.
Manage Users
The basic security principle is that a user does not have access to application
functionality unless it is specifically granted to the user.
• All users must have basic access to EGRCM that is provided by the seeded
GRC User Job Role. This job role includes only the basic privilege to log into
the application and see the Welcome dashboard. Beyond this, each user’s
security profile must be updated to grant privileges to perform other activities,
and to define precisely the application data to which the user has access.
Note: The user has access to the operational data that is not secured by a perspec-
tive based solely on functional access. Some operational data is not secured by
perspectives, such as survey management objects and assessment management
objects, and access to this data is based on the functional access. Likewise, if an
object that does support perspectives is defined without any perspectives, that
object is not secured by data access and any user that has the functional access
to the object will have access to it.
For example, the Order to Cash process is defined without any perspectives
associated to it. All users who have a data role to view the process object in the
Approved state regardless of any of the perspective filters contained in their
data roles will be able to view the Order to Cash process.
• To have the Financial Governance module displayed within the Navigator, the
user must have the Financial Governance Module Job Role.
• To have the Continuous Control Monitoring module displayed within the
Navigator, the user must have one of the Continuous Control Monitoring Job
Roles, such as Continuous Control Manager Job Role or Continuous Control
Viewer Job Role.
• Select all other appropriate job roles for each user.
Next, identify the types of job roles you need for this new module and the type of func-
tional access each job role needs. You can use the seeded duty and job duty roles for
the functional access if these meet your business requirements. If not, see “Construct-
ing Duty Roles” and “Constructing Job Duty Roles” (pages 2-11 and 2-18).
The seeded composite data roles for the standard objects are defined similarly to
those that support the seeded job roles for Financial Governance. These composites
form groupings of data access against each of the standard objects. For example:
Name: Control Object B Manager Data Role
Description: Composite data role for access to edit Control Object B data
Filter Name Object Attribute Condition Data Role Include/Exclude
Edit Data Attributes Data Role Equals Edit Control Object B Primary Data Role Include
View Data Attributes Data Role Equals View Control Object B Primary Data Role Include
View Data Attributes Data Role Equals View Control Object B Operational Include
Assessment Assessment Results Primary Data Role
View Design Data Attributes Data Role Equals View Control Object B Design Review Include
Review Assessment Results Primary Data Role
View Audit Data Attributes Data Role Equals View Control Object B Audit Test Include
Test Assessment Results Primary Data Role
View Data Attributes Data Role Equals View Control Object B Certification Include
Certification Assessment Results Primary Data Role
Create Data Attributes Data Role Equals Create Control Object B Primary Data Role Include
Delete Data Attributes Data Role Equals Delete Control Object B Primary Data Role Include
Because primary data roles for standard objects do not include module, you must
define custom “module data roles.” Each of these associates the new module with the
seeded composite data role for one of the objects selected for the new module.
For example, the sample IT Governance module uses Control Object B for its con-
trol object. You might create this role:
Name: IT Control Manager Data Role
Description: Maintain IT Control data access
Filter Name Object Attribute Condition Value Include/Exclude
Module Data Attributes Module Equals IT Governance Include
Data Role Data Attributes Data Role Equals Control Object B Manager Data Include
Role
Troubleshooting
If a user should have access to data but cannot see it, the problem is probably an
incorrect data role.
• Review the perspective filter that is included in the user’s data role. Does it
reference the correct perspective hierarchy and value? Is the condition correct?
• Is the correct composite data role referenced for the user’s job role?
Appendix A-1
Change Impact
Removing a value from the Yes
hierarchy Any object associated with the perspective value that was
removed will no longer be accessible. The Unassigned
Perspective Values security report will report these objects.
When you find it necessary to remove a value from a
perspective hierarchy, first change all objects that are
associated with that value to a new perspective value and
update users’ data roles accordingly. If that new value does
not already exist within the perspective hierarchy:
• Update the perspective hierarchy with the new value.
• Update objects associated with the value to be removed
to the new perspective value.
• If necessary, update the data roles that referenced the
value to be removed to the new value or a parent value
with Includes Children.
• Update the perspective hierarchy to remove the
perspective value.
Changing the status of the Yes
perspective hierarchy to Any object associated with the perspective hierarchy is no
Inactive longer accessible. This change requires multiple steps.
If this perspective hierarchy is to be replaced by a newly
created one:
• Define the new hierarchy first.
• Define new data roles for this hierarchy or update
existing data roles. If existing data roles are updated,
users whose job roles reference the changed data roles
will have new access.
If a new perspective hierarchy is not needed, but an existing
perspective hierarchy will be used:
• If necessary, update the existing perspective hierarchy
with values.
• If necessary, define new data roles for the new values
or update existing data roles for the new values.
In either case:
• Optionally, assign the new data roles to the appropriate
users by either creating new job roles or including the
new data roles in existing job roles.
• Change the objects associated to values in the
perspective hierarchy to be retired to the new
perspective hierarchy.
• Update the perspective hierarchy status to Inactive.
• Optionally, update the status to Inactive for the data
roles for the inactive perspective hierarchy.
• Optionally, remove inactive data roles from the job roles.