Managing access control with external security managers


Previous versions of WebSphere Portal worked with external security managers by externalizing resources and using ACLs to control permissions. Because WebSphere Portal V5.0 uses role-based access control, the externalization process has changed.

WebSphere Portal now externalizes roles and uses ACLs to control role membership. From the perspective of the external security manager, these externalized roles contain only one permission: membership in the role. WebSphere Portal always determines the permissions that the portal associates with each role.

For example, if you externalize the Editor@Market News Page role, use the external security manager to edit the ACL for that role. WebSphere Portal still determines the permissions that are associated with the Editor role type. Roles are always associated with a specific portal resource, so the role Editor@Market news page contains specific permissions on the Market News Page only. For more information about role-based access control, see Authorization.

Use the Resource Permissions portlet or the XML configuration interface to move resources back and forth from internal to external access control. Note the following information:

  • Private pages cannot be externalized.

  • When you use the Resource Permissions portlet to externalize or internalize access control for a resource, access control for all of its public child resources moves with it. When you use the XML configuration interface to externalize or internalize access control for a resource, access control for public child resources does not change.

  • After you externalize access control for a resource, use the external security manager to assign users to roles on the resource.

  • After access control for a resource is externalized, you can use either the Resource Permissions portlet or the XML configuration interface to create additional role types on the resource. For example, suppose you create only the Administrator and Manager role types on the Market News page. Then you externalize access control for the Market News page. At this point, use the external security manager to assign users to the Administrator@Market News page or Manager@Market News Page roles. If you decide that you want to assign users to the Editor@Market News page role, follow these steps:

    1. Use the Resource Permissions portlet to create the Editor role type for the Market News Page.

    2. Use the external security manager to assign users to the Editor@Market News Page role.

  • Externalizing the access control for a resource severs any access control inheritance from internally controlled parent resources. The user who is performing the externalization automatically receives the Administrator role on the parent resource of the externalized resource tree (if using the Resource Permissions portlet) or the resource (if using the XML configuration interface).

 

Format for displaying externalized roles

By default, externalized roles appear in the external security manager as Role Type@Resource Type/Name/Object ID. For example, Administrator@PORTLET_APPLICATION/Welcome/1_1_1G.

You can change this format to Resource Type/Name/Object ID@Role type. This format change groups the roles by resource name instead of by role type. For example, PORTLET_APPLICATION/Welcome/1_0_1G@Administrator. This format change is visible only when the roles are externalized. This change does not affect the way roles are displayed in WebSphere Portal.

The Administrator@VIRTUAL/wps.EXTERNAL ACCESS CONTROL/1 role is never affected by this format change. This role always appears with the role type "Administrator" on the left.

Follow these steps to change the format for externalized roles:

  1. On the WebSphere Portal machine, find the <wp_root>/shared/app/config/services/AccessControlDataManagementService.properties file and make a backup copy.

  2. Open the file using a text editor and change the value of the accessControlDataManagement.reorderRoleNames property to true. (If this property does not exist in the file, add it.)
To change the display format for roles that were initially externalized in the default format, complete these steps:

  1. Internalize the roles.

  2. Set the reorderRoleNames property to true as previously explained.

  3. Externalize the roles.

Example of roles list with reorderRoleNames=false:

Administrator@WEB_MODULE/Tracing.war/1_0_3K
        Administrator@PORTLET_APPLICATION/Welcome/1_0_1G
        User@WEB_MODULE/Tracing.war/1_0_3K
        Privileged User@WEB_MODULE/Tracing.war/1_0_3K
        Privileged User@PORTLET_APPLICATION/Welcome/1_0_1G

Example of roles list with reorderRoleNames=true

PORTLET_APPLICATION/Welcome/1_0_1G@Administrator
        PORTLET_APPLICATION/Welcome/1_0_1G@Privileged User
        WEB_MODULE/Tracing.war/1_0_3K@Administrator
        WEB_MODULE/Tracing.war/1_0_3K@Privileged User
        WEB_MODULE/Tracing.war/1_0_3K@User

 

See also

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.