WAS v8.5 > Secure applications > Authorizing access to resources > Authorization technology > Authorization providersRole-based security with embedded Tivoli Access Manager
The Java EE role-based authorization model uses the concepts of roles and resources. An example is provided here.
Roles.
This table is an example of role-based security with embedded Tivoli Access Manager.
Roles getBalance deposit closeAccount Teller granted granted Cashier granted Supervisor granted In the example of the banking application that is conceptualized in the previous table, three roles are defined: teller, cashier, and supervisor. Permission to perform the getBalance, deposit, and closeAccount application methods are mapped to these roles. From the example, we can see that users assigned the role, Supervisor, can run the closeAccount method, whereas the other two roles are unable to run this method.
The term, principal, within WebSphere Application Sever security refers to a person or a process that performs activities. Groups are logical collections of principals configured in WAS to promote the ease of applying security. Roles can be mapped to principals, groups, or both.
Roles methods. The entry that is invoked in the following table indicates the principal or group can invoke any methods that are granted to that role.
In the previous example, the principal Frank, can invoke the getBalance and the closeAccount methods, but cannot invoke the deposit method because this method is not granted either the Cashier or the Supervisor role.
Principal/Group Teller Cashier Supervisor TellerGroup Invoke CashierGroup Invoke SupervisorGroup Frank: A principal who is not a member of any of the previous groups Invoke Invoke At the time of application deployment, the Java Authorization Contract for Container (JACC) provider of Tivoli Access Manager populates the Tivoli Access Manager-protected object space with any security policy information contained in the application deployment descriptor and or annotations. This security information is used to determine access whenever the WAS resource is requested.
By default, the Tivoli Access Manager access check is performed using the role name, the cell name, the application name, and the module name.
Tivoli Access Manager access control lists (ACLs) determine which application roles are assigned to a principal. ACLs are attached to the applications in the Tivoli Access Manager-protected object space at the time of application deployment.
Principal-to-role mappings are managed from the dmgr console and are never modified using Tivoli Access Manager. Direct updates to ACLs are performed for administrative security users only.
The following sequence of events occur:
- During application deployment, policy information is sent to the JACC provider of Tivoli Access Manager . This policy information contains permission-to-role mappings and role-to-principal and role-to-group mapping information.
- The JACC provider of Tivoli Access Manager converts the information into the required format, and passes this information to the Tivoli Access Manager policy server.
- The policy server adds entries to the Tivoli Access Manager-protected object space to represent the roles that are defined for the application and the permission-to-role mappings. A permission is represented as a Tivoli Access Manager-protected object and the role that is granted to this object is attached as an extended attribute.
Related concepts:
Authorization providers
Related
Administer security users and roles with Tivoli Access Manager
Configure Tivoli Access Manager groups