Oracle fusion application security mechanism is designed on the base of role-based access control (RBAC). Oracle recommend to implement roles with functional security and data security and then assign roles to user, which bring benefits from maintenance and reusability. We should not directly assign functional security and data security to user, even though it looks ok from technical perspective.
First, let’s have a look at the Oracle recommended security setup process with a real business scenario, and then have a review of Oracle fusion security architecture and concept for further understanding.
Oracle recommended Security Setup Process, which is the most safe for your implementation.
Considering you have a financial manager called Ning Yun, who is responsible for all financial modules as a manager role in business unit A, B, C, Ledger X, Y, and asset book Z.
1. Create a user ning with person information (generally employee information). A person will auto created in HCM. Or you can create person in HCM and user will be auto created.
2. You should have had job roles, like general ledger manager, payables manager, receivables manager, etc. in your system, generally they are predefined by oracle.
3. Create data roles for above job roles through data role template. Or the data role can be generated automatically when you create BU, asset book, GL data access set.
4. Assign the necessary data role to user.
I recommend that you always generate data role by data role template or generate automatically and NOT try to generate your own data security, because it is not completed. If you try to research the Oracle-predefined data role template, it is very complex. You can duplicate it by data security easily. So, always use data template or auto generation.
Oracle fusion security architecture and concepts
1. Resource: Very technical concept that the technical components used by privilege.
2. Entitlement (Privilege): A task/action of duty role. An entitlement is one or more allowable actions applied to a set of database resources.
3. Application Role (Duty/Duty role): Duty roles cannot be provisioned directly to users, but are inherited by enterprise roles to control access to applications. Duty roles may carry both function and data security grants.
4. External Role (Job/Job role): Specific to a job, and controls access to functions through inherited duty roles that carry the entitlement necessary for performing specific tasks associated with the duties of the job, such as access for a procurement manager.
5. User: application user registered in system.
6. Database resource: A database resource specifies access to a table, view, or flexfield that is secured by a data security policy.
7. HCM Security Profile: HCM data roles are generated using the Manage Data Roles and Security Profiles task, which uses HCM security profiles, not data role templates, to define the data security condition.
8. Data role template: You use data role templates to generate data roles. You generate such data roles, and create and maintain data role templates in the Authorization Policy Manager (APM).
Data Role (Also external role in APM): Specific to a job within a dimension of data, and augments the inherited abstract, duty, or job roles with entitlement to access specific data, such as access for a procurement manager in a particular business unit. Job role with data security.
External Role/Job Role: Accounts Payable Manager (which is mapping to real AP manager in business)
Duties assigned directly and indirectly to the job role Accounts Payable Manager
Application Role/Duty Role
Accounts Payable Managerial Analysis Duty: Analyzes Invoices and related documents along with Payments, Holds Discounts, and Payables Balances
Accounts Payable Period Status Management Duty: Manages Oracle Fusion Payables period status.
Accounts Payable Period Status Review Duty: Reviews Oracle Fusion Payables period status.
Actual Procurement Cost Collection Duty: Subscribes to costing service for interfacing invoice transactions to receipt accounting.
The relationship between external role (data role) and job role: (first page for functional hierarchy, second page for data security)
The relationship between job role and application rule:
The relationship between application role and entitlement:
The relationship between entitlement and resource:
(From my own opinion, the security mechanism, especially data security is very complex in current version of Fusion Application, so please always use data role template or auto-generation. That’s enough)