5.1 Understanding Directory Information Tree
Oracle Internet Directory serves as a shared repository for the entire Oracle Identity Management infrastructure.
A carefully planned logical structure of the directory enables:
Enforcement of security policies that meet the requirements of your deployment
An efficient physical deployment of the directory service
Easier configuration of synchronization of a third-party directory with Oracle Internet Directory
Figure 5-1 shows a directory information tree for a hypothetical company, called MyCompany, that is deploying identity management.
Figure 5-1 Planning the Directory Information Tree
MyCompany makes the following decisions with respect to the logical organization of the directory in their U.S. deployment:
A domain name-based scheme is to represent the overall DIT hierarchy. Because the identity management infrastructure is being rolled out in the
usdomain, the root of the DIT is
Within the naming context chosen, all users are represented under a container called
cn=users. Within this container, all users are represented at the same level—that is, there is no organization-based hierarchy. In addition, the
uidattribute is chosen as the unique identifier for all users.
Within the naming context chosen, all enterprise groups are represented under a container called
cn=groups. Within this container, all enterprise groups are represented at the same level. The naming attribute for all group entries is
Finally, the container
dc=usis chosen as the root of the identity management realm. In this case, the name of the realm is
us. The deployment expects to enforce similar security policies for all users who fall under the scope of the
Planning the logical organization of the directory for Oracle Identity Management involves planning:
The overall structure of the directory information tree
The directory containment and naming for users and groups
The identity management realm
5.2 How to Plan the Overall Directory Structure
This task involves designing the basic directory information tree that all identity management-integrated applications in the enterprise are to use.
As you do this, keep these considerations in mind:
The directory organization should facilitate clean and effective access control. If either full or partial replication is planned, then proper boundaries and policies for replication can be enforced only if the design of the DIT brings out the separation.
If the enterprise is integrating with another directory server, it is best to align the DIT design of Oracle Internet Directory with the existing DIT.
Other directory servers include Oracle products such as Oracle Unified Directory and Oracle Directory Server Enterprise Edition or third-party directory servers such as Microsoft Active Directory.
This consideration also applies to deployments that are rolling out Oracle Internet Directory now but plan to roll out another directory server later—for example, Active Directory, which is required for the operation of software from Microsoft.
In both cases, choosing an Oracle Internet Directory DIT design that is consistent with the integrated directory server makes the management of user and group objects easier through Oracle Identity Management and other middle-tier applications.
In a single enterprise scenario, choosing a DIT design that aligns with the DNS domain name of the enterprise suffices. For example, if Oracle Internet Directory is set up in a company having the domain name
mycompany.com, then a directory structure that has
dc=mycompany,dc=comis recommended. Oracle recommends that you not use departmental or organization level domain components such as
If the enterprise has an X.500 directory service, and no other third-party LDAP directories in production, then it may benefit by choosing a country-based DIT design. For example, a DIT design with the root of
o=mycompany, c=USmight be more suitable for enterprises which already have an X.500 directory service.
Because the directory can be used by several applications—both from Oracle and from third-parties alike—the naming attributes used in relative distinguished names (RDNs) constituting the overall DIT structure should be restricted to well-known attributes. The following attributes are generally well-known among most directory-enabled applications:
c: The name of a country
dc: A component of a DNS domain name
l: The name of a locality, such as a city, county or other geographic region
o: The name of an organization
ou: The name of an organizational unit
st: The name of a state or province
A common mistake is to design the DIT to reflect either the corporate divisional or organizational structure. Because most corporations undergo frequent reorganization and divisional restructuring, this is not advisable. It is important to insulate the corporate directory from organizational changes as much as possible.
5.3 Planning the Names and Organizing Users and Groups
Understand about what to consider when modeling users and groups in Oracle Internet Directory. Most of the design considerations that are applicable to the overall DIT design are also applicable to the naming and containment of users and groups.
This section contains the following topics:
5.3.1 Organizing Users in Oracle Internet Directory
The Oracle Identity Management infrastructure uses Oracle Internet Directory as the repository for all user identities. Even though a user might have account access to multiple applications in the enterprise, there is only one entry in Oracle Internet Directory representing that user's identity.
The location and content of these entries in the overall DIT must be planned before deploying Oracle Internet Directory and other components of the Oracle Identity Management infrastructure.
As mentioned in the previous section: How to Plan the Overall Directory Structure, it is tempting to organize users according to their current departmental affiliations and hierarchy. However, this is not advisable because most corporations undergo frequent reorganization and divisional restructuring. It is more manageable to capture a person's organizational information as an attribute of that person's directory entry.
There are no performance benefits derived from organizing users in a hierarchy according to organizational affiliations or management chain. Oracle recommends that you keep the DIT containing users as flat as possible.
If the deployment has different user populations with each one maintained and managed by a different organization, then Oracle recommends subdividing users into containers based on these administrative boundaries. This simplifies the setting of access controls and helps in cases where replication is needed.
The out-of-the-box default nickname attribute for uniquely identifying users in lookup operations is
uid. This is the default attribute used for logins. The out-of-the-box default naming attribute for constructing a DN is
The default attribute for uniquely identifying users is cn or CommonName. The typical value of CommonName is the person's full name. People's names or email addresses, however, can change and therefore might not be suitable as values of this attribute. If possible, choose a value that will not change and that uniquely identifies a user, such as the employee id.
Typically, most enterprises have a Human Resources department that establishes rules for assigning unique names and numbers for employees. When choosing a unique naming component for directory entries, it is good to exploit this administrative infrastructure and use its policies.
It is required that all user entries created in the directory belong to the following object classes:
If you already have a third-party directory, or plan to integrate with one in the future, then it is beneficial to align the user naming and directory containment in Oracle Internet Directory with the one used in the third-party directory. This simplifies the synchronization and subsequent administration of the distributed directories.
In Oracle Internet Directory Release 9.0.2, the default value for the
cn. As of Release 9.0.4, the default value for this attribute is
5.3.2 Organizing Groups in Oracle Internet Directory
Some applications integrated with the Oracle Identity Management infrastructure can also base their authorizations on enterprise-wide groups created by the deployment in Oracle Internet Directory. Like user entries, the location and content of these group entries should also be carefully planned.
When you design groups, consider the following:
There are no performance benefits to be gained from organizing enterprise groups in a hierarchy based on the organizational affiliations or ownership. Oracle recommends keeping the DIT that contains groups as flat as possible. This facilitates easy discovery of groups by all applications and fosters sharing of these groups across applications.
It is preferable to separate the users and groups in the DIT so that different management policies can be applied to each set of entries.
The attribute used to uniquely identify a group should be
All group entries created by the enterprise in the directory should belong to the following object classes:
orclGroup. The former object class is an internet standard for representing groups. The latter is useful when using the Oracle Internet Directory Self-Service Console to manage groups.
Instead of creating new directory access controls for each enterprise-wide group, consider doing the following:
ownerattribute of the group to list which users own this group.
Create an access control policy at a higher level that grants all users listed in the
ownerattribute special privileges to perform the various operations.
descriptionattribute, provide information for users to understand the purpose of the group.
Consider using the
displayNameattribute from the
orclGroupobject class. This attribute enables applications to display a more readable name for the group.
If you have different sets of groups, each of which is maintained and managed by a different organization with its own administrative policies, then sub-divide the groups into containers based on these administrative boundaries. This simplifies the setting of access controls. It also helps when replication is needed.
If you already have a third-party directory, or plan to integrate with one in the future, then align the group naming and directory containment in Oracle Internet Directory with the one used in the third-party directory. This simplifies the synchronization and subsequent administration of the distributed directories.
5.4 About DIT View Since 11g Release
Since 11g Release 1 (18.104.22.168.0), you can specify a DIT view, which is a virtual view or namespace that shows entries from a different or source DIT. A DIT view reduces the overall storage footprint in a cloud environment for common entries across tenants.
In a DIT view, the following items are transformed from the source DIT to the target DIT view namespace:
DN and all DN attributes in the entry
RDN mappings that are specified for the DIT view
For more information, see Creating a DIT View.
5.5 Migration of DIT from a Third-Party Directory
Understand how to migrate from a Third-Party Directory.
To migrate a DIT from a third-party directory, use the techniques described in Migrating Data from Other Data Repositories and Synchronizing With Third-party Meta Directory Solutions. in Administering Oracle Directory Integration Platform .
If you are migrating a DIT from a Microsoft Active Directory environment, also see the chapter on integration with the Microsoft Active Directory Environment. Oracle recommends that you configure the Oracle Internet Directory DIT to be identical to the third-party DIT.