Skip Headers
Oracle® Fusion Middleware Administrator's Guide for Oracle Internet Directory
11g Release 1 (11.1.1)

Part Number E10029-05
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

33 Planning, Deploying and Managing Realms

This chapter discusses identity management realms and how to plan and configure them for both enterprise and hosted deployments.

This chapter contains these topics:

Note:

All references to Oracle Single Sign-On in this chapter refer to Oracle Single Sign-On 10g (10.1.4.3.0) or later.

33.1 Introduction to Planning, Deploying and Managing Realms

This introduction includes the following topics:

33.1.1 Planning the Identity Management Realm

Chapter 5, "Understanding Oracle Internet Directory Organization"describes guidelines for you to structure the overall DIT and the placement of users and groups for your deployment. Because implementing these guidelines can lead to an infinite number of deployment configurations, you must capture the intent of your deployment in metadata in the directory itself. This metadata enables Oracle software and other third-party software relying on the Oracle Identity Management infrastructure to understand the deployment intent and successfully function in customized environments.

In Oracle Internet Directory, this deployment intent is captured in the identity management realm. The realm also helps set identity management policies for users and groups whose placement is described in the previous section.

The identity management realm is a well-scoped area in the directory that consists of:

  • A well-scoped collection of enterprise identities—for example, all employees in the US

  • A collection of identity management policies associated with these identities

  • A collection of groups—that is, aggregations of identities—that makes it easier to set identity management policies

When you have decided on the overall DIT structure and the placement of users and groups, you must identify the directory entry to serve as the root of the identity management realm. This entry determines the scope of the identity management policies defined in the realm. By default, the scope is the entire directory subtree under the root of the identity management realm. Under this entry, a special entry called OracleContext is created. It contains the following:

  • The deployment-specific DIT design, including user and group naming and placement, as described in previous sections

  • The identity management policies associated with this realm

  • Additional realm-specific information specific to Oracle applications

When planning the identity management realm, consider the following:

  • The security needs of your enterprise must dictate the choice of the root of the identity management realm. Typically, most enterprises need only one realm. However, multiple realms may be required when multiple user populations are managed with different identity management policies.

  • If you already have a third-party directory, or plan to integrate with one in the future, then align the choice of the identity management realm root with the DIT design of the third-party directory. This simplifies the synchronization and subsequent administration of the distributed directories.

  • To configure and administer identity management realms, use the administrative tools provided by Oracle Internet Directory. These include the Oracle Internet Directory Self-Service Console in Oracle Delegated Administration Services 10g (10.1.4.3.0) or later, and command-line tools.

    See Also:

    The command reference for oidrealm in Oracle Fusion Middleware Reference for Oracle Identity Management.

  • After you have used the Oracle Internet Directory tools to configure the identity management realm, plan on updating the directory naming and containment policies to reflect the customizations made by the deployment. This update must happen before installing and using other Oracle components that use the Oracle Identity Management infrastructure.

Figure 33-1 shows an example of an identity management realm for an enterprise called MyCompany.

Figure 33-1 Example of an Identity Management Realm

This illustration is described in the text.

In the example in Figure 33-1, the deployment uses a domain name-based DIT structure. The container dc=us,dc=mycompany,dc=com is the root of the identity management realm. This results in the creation of a new identity management realm whose scope, by default, is restricted to the entire directory subtree under the entry dc=us. The name of the identity management realm is US.

33.1.2 Identity Management Realms in an Enterprise Deployment

This section discusses deployments with single identity management realms and those with multiple ones. It contains these topics:

33.1.2.1 Single Identity Management Realm in the Enterprise

In this scenario, an enterprise has a single set of users, all of whom are managed with the same identity management policies. This is the default configuration of all Oracle products. It includes only one default identity management realm in Oracle Internet Directory and all Oracle components in the enterprise serve users in that realm. Figure 33-2 illustrates this usage.

Figure 33-2 Enterprise Use Case: Single Identity Management Realm

This illustration is described in the text.

In the example in Figure 33-2, there is a single, default identity management realm containing employees only. In that realm all users and groups are managed and all share access to the same applications, Application A and Application B.

33.1.2.2 Multiple Identity Management Realms in the Enterprise

You can use the same identity management infrastructure to serve both internal and external self-registered users. Because the identity management policies for internal and external users are different, you can deploy two realms, one for internal and one for external users. Figure 33-3 illustrates this usage.

Figure 33-3 Enterprise Use Case: Multiple Identity Management Realms

Description of Figure 33-3 follows
Description of "Figure 33-3 Enterprise Use Case: Multiple Identity Management Realms"

In the example in Figure 33-3, the default identity management realm is for internal users—namely, employees—and these have access to Applications A, B, and C. The external identity management realm is for external users, and they have access to Applications C and D.

33.1.3 Identity Management Realms in a Hosted Deployment

In a hosted deployment, the application service provider (ASP) supplies one or more companies with identity management services and hosts applications for them. Each hosted company is associated with a separate identity management realm where users of that company are managed. Users belonging to the application service provider are managed in a different realm, typically the default realm.

Figure 33-4 shows a hosted deployment with two hosted companies.

Figure 33-4 Hosted Deployment Use Case

This illustration is described in the text.

In the example in Figure 33-4, the ASP users are in the default identity management realm. The ASP manages its users, groups and associated policies in that realm. ASP users manage Applications A, B, and C for the hosted companies. Hosted company MyCompany users are in the Mycompany identity management realm. They use Applications A and B. Hosted company XY Corp users are in the XY Corp identity management realm. They use Applications B and C.

33.1.4 Identity Management Realm Implementation in Oracle Internet Directory

Table 33-1 describes the objects in an identity management realm.

Table 33-1 Oracle Identity Management Objects

Object Description

Root Oracle Context

This object contains:

  • A pointer to the default identity management realm in the infrastructure

  • Information on how to locate a realm given a simple name of the realm

Identity Management Realm

A normal directory entry with a special object class associated with it.

Identity Management Realm-Specific Oracle Context

In each realm, this object contains:

  • User naming policy of the identity management realm—that is, how users are named and located

  • Mandatory authentication attributes

  • Location of groups in the identity management realm

  • Privilege assignments for the identity management realm—for example: who has privileges to add more users to the realm.

  • Application-specific data for that realm including authorizations


33.1.5 Default Directory Information Tree and the Identity Management Realm

To make configuration easier, Oracle Internet Directory, at installation, creates a default DIT and sets up a default identity management realm.

Figure 33-5 Default Identity Management Realm

Figure is described in text.

As Figure 33-5 shows, the default identity management realm is part of a global DIT. The node just below the root DSE is dc=com, followed by dc=MyCompany, then dc=us. These four nodes represent the overall DIT structure. The node dc=us is the root of the default identity management realm. It has two subtrees for containing user and group information: cn=Users and cn=Groups. For purposes of illustration, the cn=Users node contains two leaves: uid=user1 and uid=user2. Similarly, the cn=Groups node contains cn=group1 and cn=group2

Oracle Internet Directory gives you the option of setting up a DIT based on the domain of the computer on which the installation is performed. For example, if the installation is on a computer named oidhost.us.mycompany.com, then the root of the default identity management realm is dc=us,dc=mycompany,dc=com.

It also gives you the option of specifying a different DN that meets your deployment needs as the root of your default identity management realm on the Specify Namespace in Internet Directory install screen. For example, if you plan to integrate your Identity Management installation with a third-party directory, it is recommended that you specify a DN that matches the DN of the default naming context in the third-party directory. For more details on obtaining the default naming context from a third-party directory, refer to the chapter on integrating with third-party directories in the Oracle Fusion Middleware Administrator's Guide for Oracle Directory Integration Platform.

During configuration, Oracle Internet Directory creates the following:

  • An Oracle Context associated with the default identity management realm. The Oracle Context stores all the realm-specific policies and metadata. Using the example in the previous paragraph, it creates the Oracle Context with the distinguished name cn=OracleContext,dc=us,dc=mycompany,dc=com. This entry and the nodes under it enable Oracle software to detect realm-specific policies and settings.

  • A directory structure and naming policies in the default identity management realm. These enable Oracle components to locate various identities. The default values for these are:

    • All users are located in the container cn=users under the base of the identity management realm. In this example, it is cn=users,dc=us,dc=mycompany,dc=com.

    • Any new users created in the identity management realm using the Oracle Identity Management infrastructure are also created under the cn=users container.

    • All new users created in the identity management realm using the Oracle Identity Management infrastructure belong to the object classes orclUserV2 and inetOrgPerson.

    • All groups are located in the container cn=groups under the base of the identity management realm. In this example, it is cn=groups,dc=us,dc=mycompany,dc=com.

  • Identity management realm administrator. This user is located under the users container. In this example, the fully qualified DN of the realm administrator is cn=orcladmin,cn=users,dc=us,dc=mycompany,dc=com.

    Note:

    If the realm administrator's account becomes locked, the Oracle Internet Directory superuser can unlock it by modifying the realm administrator's account password, using Oracle Directory Manager.

  • Default authentication policies, which enable authentication services to perform the appropriate actions. These include:

    • The default directory password policy—for example, password length, lockout, and expiration

    • Additional password verifiers that need to be automatically generated when provisioning the user

  • Identity management authorizations. Oracle Internet Directory grants these to the realm administrator who can further delegate these authorizations through the Oracle Internet Directory Self-Service Console. Some of these authorizations include:

33.2 Customizing the Default Identity Management Realm

After a realm is created, you can further customize various aspects of it. Table 33-2 lists the aspects you can customize, the tools available for each type of customization, and where to look for more information.

Table 33-2 Customizing the Default Identity Management Realm

What You Can Customize Tools Information

Directory structure and naming policies

Oracle Internet Directory Self-Service Console

Oracle Directory Services Manager

Command-line tools

This section.

Section 33.1.5, "Default Directory Information Tree and the Identity Management Realm"

The chapter on using the Oracle Internet Directory Self-Service Console in Oracle Identity Management Guide to Delegated Administration in the 10g (10.1.4.0.1) library

Authentication policies

Oracle Directory Services Manager

Command-line tools

Chapter 28, "Managing Password Policies"

Identity management authorizations

Oracle Internet Directory Self-Service Console

Oracle Directory Services Manager

Command-line tools

Chapter 31, "Delegating Privileges for Oracle Identity Management"

The chapter on using the Oracle Internet Directory Self-Service Console in Oracle Identity Management Guide to Delegated Administration in the 10g (10.1.4.0.1) library


A typical scenario where this might be required is one where you must integrate your Oracle Identity Management installation with a third-party directory.

For example, assume the default Identity Management Realm is dc=mycompany,dc=com and there are users under cn=users,dc=mycompany,dc=com.

If the third party directory naming context does not match the current user and group search base in the default realm, then you can alter the user and group search base of the default realm so that both the existing users and the third party users can log in using Oracle Single Sign-On. Select a user search base just high enough to include the existing users and the third party users. Let us call this search base the Lowest Common User Search Base.

Note:

This approach assumes that the user nickname attribute selected for Oracle Single Sign-On Login is unique across the existing user search base and the third party directory naming context. Otherwise, Oracle Single Sign-On authentication fails for all those users whose nickname attribute values clash.

If your deployment scenario matches any of the use cases from 1 to 5, follow the procedure described in Section 33.2.1, "Steps to Update the Existing User and Group Search Base."

Use Case 1:

The third party naming context is under the default realm, but in a different container than the realm user search base

For example, the existing users are under cn=users,dc=mycompany,dc=com and the third party naming context is under cn=users,o=employees,dc=mycompany,dc=com. In this case, the Lowest Common User Search Base is dc=mycompany,dc=com.

Use Case 2:

The third party naming context is outside the default realm, but there is a Lowest Common User Search Base.

For example, the existing users are under cn=users,dc=mycompany,dc=com and the third party naming context is under cn=users, dc=mycompanyecorp,dc=com. In this case, the Lowest Common User Search Base is dc=com.

If the Lowest Common User Search Base is the root DSE, then use the procedures described in the following sections for Use Case 6::

  1. Section 33.2.2, "Set up an Additional Search Base"

  2. Section 33.2.3, "Refresh Oracle Single Sign-On"

  3. Section 33.2.4, "Reconfigure Provisioning Profiles"

Use Case 3:

The third party naming context is the same as the default realm DN.

For example, the existing users are under cn=users,dc=mycompany,dc=com and the third party naming context is directly under dc=mycompany,dc=com. In this case, the Lowest Common User Search Base is dc=mycompany,dc=com.

Use Case 4:

The third party naming context contains the parent of the default realm DN.

For example, you might have a default realm with DN: dc=us,dc=mycompany,dc=com, existing users under cn=users,dc=us,dc=mycompany,dc=com and the third party naming context directly under dc=com. In this case, the Lowest Common User Search Base is dc=com.

Use Case 5:

The third party naming context is under the existing user search base.

For example, existing users are under cn=users,dc=mycompany,dc=com and the third party naming context is directly under l=emea,cn=users,dc=mycompany,dc=com. In this case, the Lowest Common User Search Base is cn=users,dc=mycompany,dc=com. In this use case, you do not need to change the user search base.

33.2.1 Steps to Update the Existing User and Group Search Base

You must perform the following steps before you set up synchronization with the third party directory.

  1. Back up the Oracle Internet Directory database.

  2. Create the user and group containers for the third party directory, using Oracle Directory Services Manager, if the entries do not already exist in the directory.

  3. Apply appropriate ACLs on the new users container by doing the following:

    1. Instantiate the variables %USERBASE% and %REALMBASE% in the ACL template file $ORACLE_HOME/ldap/schema/oid/oidUserAdminACL.sbs and create the file usracl.ldif. Set the variable %USERBASE% to the DN of the new user container and the variable %REALMBASE% to the default realm DN.

    2. Upload the instantiated LDIF file usracl.ldif using the ldapmodify command.

  4. Apply appropriate ACLs on the new groups container by doing the following:

    1. Instantiate the variables %GRPBASE% and %REALMBASE% in the ACL template file $ORACLE_HOME/ldap/schema/oid/oidGroupAdminACL.sbs and create the file grpacl.ldif. Set the variable %USERBASE% to the DN of the new user container and the variable %REALMBASE% to the default realm DN.

    2. Upload the instantiated LDIF file grpacl.ldif using the ldapmodify command.

  5. Determine a Lowest Common User Search Base base that is just high enough to include the existing users and the third party users.

    For example, if existing users are under cn=users,dc=mycompany,dc=com and the third party users are under l=emea,dc=mycompany,dc=com, then the Lowest Common User Search Base is dc=mycompany,dc=com.

    The Lowest Common User Search Base might be the root entry. That is the case if, for example, the existing users are under cn=users,dc=mycompany,dc=com and the third party users are under dc=mycompanycorp,dc=net. In that case, skip to the deployment scenario described in Section 33.2.2, "Set up an Additional Search Base."

  6. If you must also synchronize groups, determine a group search base that is just high enough to include the existing groups and the third party groups. Lets call this search base the Lowest Common Group Search Base.

    For example, if existing groups are under cn=groups,dc=mycompany,dc=com and the third party groups are under l=emea,dc=mycompany,dc=com, then the Lowest Common Group Search Base is dc=mycompany,dc=com.

  7. log in to the Self-Service Console as the administrator of the realm (usually orcladmin).

  8. Go to the Configuration tab and set the user search base to the Lowest Common User Search Base you determined in step 5. If you must also synchronize groups, then also then set the group search base to the Lowest Common Group Search Base that you determined in step 6.

  9. To make Oracle Single Sign-On recognize these changes, follow the procedure described under Section 33.2.3, "Refresh Oracle Single Sign-On."

  10. Verify the Oracle Single Sign-On login of users in the original user search base by logging in as orcladmin.

  11. You must also reconfigure the applications that have been provisioned to reflect the modified user and group bases. Follow the steps described under Section 33.2.4, "Reconfigure Provisioning Profiles."

Note:

In addition to the user and group search base attributes, you can also modify other configuration settings of an identity management realm, such as the attribute for Login Name (nickname) or the attribute for RDN, using the Self-Service Console. See: "Modifying Configuration Settings for an Identity Management Realm" in the chapter "Using the Oracle Internet Directory Self-Service Console" of Oracle Identity Management Guide to Delegated Administration in the 10g (10.1.4.0.1) library for more details.

Use Case 6:

In this case, the third party naming context is outside the default realm and the Lowest Common User Search Base is the root DSE.

For example, if existing users are under cn=users,dc=mycompany,dc=com and the third party naming context is under cn=users,dc=mycompanycorp,dc=net, then the Lowest Common User Search Base is the root DSE.

In this case, you must add the third party naming context as an additional search base. The steps are as follows:

  1. "Set up an Additional Search Base"

  2. "Refresh Oracle Single Sign-On"

  3. "Reconfigure Provisioning Profiles"

33.2.2 Set up an Additional Search Base

Perform the following steps before setting up synchronization with the third party directory.

  1. Back up the Oracle Internet Directory database.

  2. Create the user and group containers for the third party directory, using Oracle Directory Services Manager, if the entries do not already exist in the directory.

  3. Apply appropriate ACLs on the new users container by doing the following:

    1. Instantiate the variables %USERBASE% and %REALMBASE% in the ACL template file $ORACLE_HOME/ldap/schema/oid/oidUserAdminACL.sbs and create the file usracl.ldif. Set the variable %USERBASE% to the DN of the new user container and the variable %REALMBASE% to the default realm DN.

    2. Upload the instantiated LDIF file usracl.ldif using the ldapmodify command.

  4. Apply appropriate ACLs on the new groups container by doing the following:

    1. Instantiate the variables %GRPBASE% and %REALMBASE% in the ACL template file $ORACLE_HOME/ldap/schema/oid/oidGroupAdminACL.sbs and create the file grpacl.ldif. Set the variable %USERBASE% to the DN of the new user container and the variable %REALMBASE% to the default realm DN.

    2. Upload the instantiated LDIF file grpacl.ldif using the ldapmodify command.

  5. log in to the Self-Service Console as the administrator of the realm.

  6. Go the Configuration tab.

    1. Add cn=users,dc=mycompanycorp,dc=net to the usersearchbase for the current realm.

    2. Add cn=groups,dc=mycompanycorp,dc=net to the groupsearchbase for the current realm.

  7. To make Oracle Single Sign-On recognize these changes, follow the procedure described under Section 33.2.3, "Refresh Oracle Single Sign-On."

  8. Verify the Oracle Single Sign-On login of users in the original user search base by logging in as orcladmin.

  9. If mid-tiers have been configured against this identity management configuration, then you must also reconfigure the applications that have been provisioned to reflect the modified user and group bases. Follow the steps described under Section 33.2.4, "Reconfigure Provisioning Profiles."

Note:

In addition to the user and group search base attributes, you can also modify other configuration settings of an identity management realm, such as the attribute for Login Name (nickname) or the attribute for RDN, using the Self-Service Console. See: "Modifying Configuration Settings for an Identity Management Realm" in the chapter "Using the Oracle Internet Directory Self-Service Console" of Oracle Identity Management Guide to Delegated Administration in the 10g (10.1.4.0.1) library for more details.

33.2.3 Refresh Oracle Single Sign-On

To make Oracle Single Sign-On recognize your configuration changes, execute the Oracle Single Sign-On refresh script by changing to the directory $ORACLE_HOME/sso/admin/plsql/sso/ and typing:

sqlplus orasso@ssoreoid.sql

you are prompted for the password. To get the orasso schema password, refer to the appendix "Obtaining the Single Sign-On Schema Password" in the Oracle Application Server Single Sign-On Administrator's Guide.in the 10g (10.1.4.0.1) library.

33.2.4 Reconfigure Provisioning Profiles

If you installed middle-tier applications against this default identity management realm before changing its user and group search bases, then the provisioning profiles created by the middle-tier installations become invalid. This happens because the profiles have the old user or group search base information in the event subscriptions attribute. You must modify all the profiles by using oidprovtool.

Execute the following steps for every provisioning profile:

  1. Use ldapsearch to put all the provisioning profile information into an LDIF file:

    ldapsearch -h oid_host -p oid_port \
               -D "cn=orcladmin" -q -s sub \
               -b "cn=provisioning profiles,cn=changelog subscriber,\
                   cn=oracle internet directory" \
               "objectclass=*" >  provprofiles.ldif
    

    The event subscriptions look something like this:

    USER:cn=users,dc=mycompany,dc=com:MODIFY(list_of_attributes)USER:cn=users,dc=mycompany,dc=com:DELETEGROUP:cn=groups,dc=mycompany,dc=com:MODIFY(list_of_attributes)GROUP:cn=groups,dc=mycompany,dc=com:DELETE
    

    where cn=users,dc=mycompany,dc=com and cn=groups,dc=mycompany,dc=com are the user and group search bases, respectively, that were created when you installed and configured the application.

  2. Get the actual DNs of the application identity by searching the Oracle Internet Directory server based on the GUID. To get the application DN, type:

    ldapsearch -h host -p port -D cn=orcladmin -q \
               -s sub -b "" \
               "orclguid=Value_of_orclODIPProvisioningAppGuid" dn
    

    You can get the GUID values for each profile from the attribute values in provprofiles.ldif.

  3. Modify each of the returned profiles as follows:

    $ORACLE_HOME/bin/oidprovtool operation=MODIFY \
            ldap_host=host ldap_port=port \        
    ldap_user_dn="cn=orcladmin" \       
    ldap_user_passwd=password \       
    interface_version=interfaceVersion \
            application_dn=applicationDN \
            organization_dn=identity_Realm_DN \
            event_subscription=New_Event_Subscription_1 
            event_ subscription=New_Event_Subscription_2  
            .
            .
            .
            event_subscription=New_Event_Subscription_n
    

    The New_Event_Subscription arguments should be of the form:

    USER: new_user_search_base:MODIFY(list_of_attributes)
    USER: new_user_search_base:DELETE
    GROUP: new_group_search_base:MODIFY(list_of_attributes)
    GROUP: new_group_search_base:DELETE
    

    Here, the organization_dn value should be the original identity realm DN

33.3 Creating Additional Identity Management Realms for Hosted Deployments

You can create additional identity management realms by using the Self-Service Console in Oracle Delegated Administration Services 10g (10.1.4.3.0) or later or by using oidrealm.

Only members of the ASPAdmins group can create a new identity management realm. Use Oracle Directory Services Manager to add a user to that group by adding the userDN to the uniquemember attribute of group ASPAdmins in the Default Identity Management Realm-specific OracleContext. Refer to the section on "Modifying a Static Group Entry by Using Oracle Directory Services Manager" for details.

Note:

Not all applications can work with multiple identity management realms.

Whenever you add an additional realm, you may need to make existing applications aware of it by using a manual procedure. For more information, see the application-specific documentation.

In the Oracle Identity Management infrastructure, the single sign-on server must be made aware of an additional realm by using a special administrative procedure. Please refer to the chapter "Single Sign-On in Multiple Realms" in the Oracle Application Server Single Sign-On Administrator's Guide in the 10g (10.1.4.0.1) library for instructions on enabling multiple realms in Oracle Single Sign-On.

See Also: