Skip Headers

Oracle® Identity Management Integration Guide
10g Release 2 (10.1.2)
Part No. B14085-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
Next
Next
 

16 Integration with the Microsoft Active Directory Environment

This chapter explains how Oracle Identity Management can integrate with Microsoft Active Directory in a production environment.


Note:

This chapter assumes familiarity with the chapter on Oracle Internet Directory concepts and architecture in the Oracle Internet Directory Administrator's Guide. It also assumes familiarity with the earlier chapters in this book, especially:

If you are configuring a demonstration of integration with Microsoft Active Directory, then see the Oracle By Example series for Oracle Identity Management Release 10g Release 2 (10.1.2), available on Oracle Technology Network at http://www.oracle.com/technology/


This chapter contains these topics:


See Also:


Concepts and Architecture of Microsoft Active Directory Integration

Oracle provides centralized security administration for all Oracle components by integrating them with Oracle Identity Management. Similarly, Microsoft provides centralized security administration in Microsoft Windows by integrating all Microsoft applications with Microsoft Active Directory.

If your environment uses both Oracle Identity Management and Microsoft Active Directory, then, to synchronize data in one with data in the other, you need to integrate the two systems. You do this by using Active Directory Connector.

This section discusses the Oracle components and architecture involved in integrating Oracle Identity Management with Active Directory. It contains these topics:

Components for Integrating with Microsoft Active Directory

This section describes the following components that are used to integrate with Microsoft Active Directory:


See Also:

Chapter 3, "Oracle Directory Integration and Provisioning Administration Tools" for a description of the tools used to integrate Oracle Internet Directory with Microsoft Active Directory

Oracle Internet Directory

Oracle Internet Directory is the repository in which Oracle components and third-party applications store and access user identities and credentials. It uses the Oracle directory server to authenticate users by comparing the credentials entered by users with the credentials stored in Oracle Internet Directory. When credentials are stored in a third-party directory and not in Oracle Internet Directory, users can still be authenticated. In this case, Oracle Internet Directory uses an external authentication plug-in that authenticates users against the third-party directory server.


See Also:


Oracle Directory Integration and Provisioning

Oracle Directory Integration and Provisioning is installed as part of the Oracle Application Server infrastructure. You can configure it to run on the same host as Oracle Internet Directory or on a different host.

Oracle Directory Integration and Provisioning enables:

  • Synchronization between Oracle Internet Directory and other directories and user repositories

  • Automatic provisioning services for Oracle components

Oracle Directory Integration and Provisioning includes connectors to synchronize Oracle Internet Directory with other LDAP directories or data stores. One of its connectors, Active Directory Connector, is designed to synchronize Oracle Internet Directory with Microsoft Active Directory.

Active Directory Connector enables you to:

  • Configure either one-way or two-way synchronization with Microsoft Active Directory

  • Designate a specific subset of attributes for synchronization. You do this by configuring the appropriate mapping rules, which you can then change at run time

  • Synchronize with multiple Microsoft Active Directory domains. You can synchronize changes with an individual domain or an entire Active Directory environment by using the Microsoft Global Catalog.


See Also:


Oracle Application Server Single Sign-On

OracleAS Single Sign-On enables users to access Oracle Web-based components by logging in only once.

Oracle components delegate the login function to the OracleAS Single Sign-On server. When a user first logs in to an Oracle component, the component directs the login to the OracleAS Single Sign-On server. The OracleAS Single Sign-On server compares the credentials entered by the user to those stored in Oracle Internet Directory. After verifying the credentials, the OracleAS Single Sign-On server grants the user access to all components the user is authorized to use throughout the current session.

Oracle Application Server Single Sign-On enables native authentication in a Microsoft Windows environment. Once logged in to the Windows environment, the user automatically has access to Oracle components. OracleAS Single Sign-On automatically logs in the user to the Oracle environment using the user's Kerberos credentials.


See Also:


Active Directory External Authentication Plug-in

This plug-in, which is part of the Oracle directory server, enables Microsoft Windows users to log in to the Oracle environment by using their Microsoft Windows credentials. When this plug-in is in place, it is invoked by the Oracle directory server. This plug-in verifies the user's credentials in Microsoft Active Directory. If the verification is successful, then the Oracle directory server notifies OracleAS Single Sign-On.

Windows Native Authentication

Windows native authentication is an authentication scheme for users of Microsoft Internet Explorer on Microsoft Windows. When this feature is enabled in OracleAS Single Sign-On, users log in to OracleAS Single Sign-On partner applications automatically. To do this, they use Kerberos credentials obtained when the user logged in to a Windows domain.

Using the Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) protocol, Internet Explorer version 5.0 and later can automatically pass the user's Kerberos credentials to a requesting Kerberos-enabled Web server. The Web server can then decode the credentials and authenticate the user.

Although the SPNEGO protocol supports both Kerberos version 5 and NT Lan Manager (NTLM) authentication schemes, Oracle Application Server 10g Release 2 (10.1.2) supports only Kerberos V5 with SPNEGO.


Note:

Although this chapter refers only to Windows 2000, Windows native authentication is also supported on the Windows XP platform.

If the browser is not Internet Explorer 5.0, then Oracle Identity Management authenticates the user by using OracleAS Single Sign-On. Authentication to Active Directory is performed by using the Active Directory external authentication plug-in.


The following steps, shown in Figure 16-1, describe what happens when a user tries to access a single-sign-on-protected application:

  1. The user logs in to a Kerberos realm, or domain, on a Windows computer.

  2. The user attempts to access a single-sign-on partner application using Internet Explorer.

  3. The application routes the user to the single sign-on server for authentication. As part of this routing, the following occurs:

    1. The browser obtains a Kerberos session ticket from the Key Distribution Center (KDC).

    2. The OracleAS Single Sign-On server verifies the Kerberos session ticket and, if the user is authorized, then the user is allowed to access the requested URL.

  4. The application provides content to the user.

Figure 16-1 Flow for Windows Native Authentication

Flow for Windows Native authentication
Description of the illustration ssoag039.gif

When the user logs out of the Windows session, this application and any single sign-on applications accessed are logged out at the same time.

How Oracle Directory Integration and Provisioning Maintains Synchronization

To keep Oracle Internet Directory and Microsoft Active Directory synchronized, Oracle Directory Integration and Provisioning brings in incremental changes made available by Microsoft Active Directory change tracking mechanisms. Oracle Directory Integration and Provisioning supports two of these mechanisms:

  • The DirSync approach, which uses an LDAP control that is supported by Microsoft Active Directory

  • The USN-Changed approach, which uses an attribute of the entry

In each approach, the directory from which changes are derived is queried at scheduled intervals by Active Directory Connector.

Each approach has advantages and disadvantages. Table 16-1 compares the two approaches.

Table 16-1 Comparing the DirSync Approach to the USN-Changed Approach

Considerations DirSync Approach USN-Changed Approach
Change key Presents changes to the ObjectGUID, the unique identifier of the entry Presents changes to the distinguished name. The ObjectGUID is used to keep track of modifications of the DN.
Error handling If synchronization stops as a result of an error condition, then, during the next cycle, all changes that are already applied are read and skipped. Does not require synchronization to be atomic. If synchronization stops, then the next synchronization cycle starts from the entry where the synchronization was interrupted.
Information in the search results Changes consist of only the changed attributes and the new values. This can be quicker than the USN-Changed approach. All attributes of the changed entry are retrieved. The retrieved values are compared to the old values stored in Oracle Internet Directory and updated. This can be more time consuming than the DirSync approach.
Changes to multivalued attributes Reflects incremental changes made to multivalued attributes as a complete replacement of the attribute value. Reflects incremental changes made to multivalued attributes as a complete replacement of the attribute value.
How synchronization point is tracked When queried for changes in the directory, presents incremental changes based on a cookie value that identifies the state of the directory. The changes are queried in the directory based on the uSNChanged attribute, which is a long integer, that is, 8 bytes. You can modify the value to adjust where to start the synchronization.
Required user privileges Requires the user to have the "Replicate Changes" privilege on the naming context of interest. This enables reading all objects and attributes in Microsoft Active Directory regardless of the access protections on them.

See Also:

Requires the Microsoft Active Directory user to have the privilege to read all required attributes to be synchronized to Oracle Internet Directory.

See Also: Microsoft networking and directory documentation available in the Microsoft library at the following URL: http://msdn.microsoft.com/for instructions about how to assign privileges to Microsoft Active Directory users when using the USN-Changed approach.

Support of multiple domains Requires separate connections to different domain controllers to read changes made to the entries in different domains. Can obtain changes made to the multiple domains by connecting to the Global Catalog server.

See Also: "Considerations for Synchronizing with a Multiple-Domain Microsoft Active Directory Environment"

Synchronization from a replicated directory when switching to a different Microsoft Active Directory domain controller Synchronization can continue. The synchronization key is the same when connecting to a replicated environment. Requires:
  • Full synchronizing to a known point

  • Updating the uSNChanged value

  • Starting synchronization with the failover directory

See Also: "Switching to a Different Microsoft Active Directory Domain Controller in the Same Domain"

Synchronization scope Reads all changes in the directory, filters out changes to the required entries, and propagates to Oracle Internet Directory Enables synchronization of changes in any specific subtree
Usability in an environment with multiple Microsoft Active Directory servers behind a load balancer - Either connect to a specific Microsoft Active Directory domain controller, or connect to a Global Catalog. Connect to Global Catalog if:
  • You are interested in import operations only.

  • The Global Catalog contains all entries and attributes to be synchronized.

  • Performance of the Global Catalog is acceptable.


Oracle Internet Directory Schema Elements for Integration with Microsoft Active Directory

To identify objects that are synchronized with those in Microsoft Active Directory, Oracle Internet Directory contains schema elements that correspond to Active Directory-specific attributes. These schema elements are described in Appendix B, "LDAP Schema Elements for Oracle Directory Integration and Provisioning".

Directory Information Tree in an Integration with Microsoft Active Directory

This section contains the following topics:


See Also:

The chapter on directory concepts and architecture in Oracle Internet Directory Administrator's Guide for a fuller discussion of directory information trees.

About Realms in Oracle Internet Directory

In Oracle Internet Directory, an identity management realm defines an enterprise scope over which certain identity management policies are defined and enforced by the deployment. It comprises:

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

  • A collection of identity management policies associated with these identities. An example of an identity management policy would be to require that all user passwords have at least one alphanumeric character.

  • A collection of groups, that is, aggregations of identities that simplify setting the identity management policies

Multiple Realms

You can define multiple identity management realms within the same Oracle Identity Management infrastructure. This enables you to isolate user populations and enforce a different identity management policy,—for example, password policy, naming policy, self-modification policy—in each realm. This is useful in a hosted deployment of Oracle Application Server.

Each identity management realm is uniquely named to distinguish it from other realms. It also has a realm-specific administrator with complete administrative control over the realm.

The Default Realm

For all Oracle components to function, an identity management realm is required. One particular realm, created during installation of Oracle Internet Directory, is called the default identity management realm. It is where Oracle components expect to find users, groups, and associated policies whenever the name of a realm is not specified. This default realm facilitates proper organization of information and enforces proper access controls in the directory.

There can be only one default identity management realm in the directory. If a deployment requires multiple identity management realms, then one of them must be chosen as the default.

Figure 16-2 illustrates the default identity management realm.

Figure 16-2 The Default Identity Management Realm

This illustration is described in the text.
Description of the illustration oimig001.gif

As Figure 16-2 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 illustration purposes, the cn=Users node contains two leaves: uid=user1 and uid=user2. Similarly, the cn=Groups node contains cn=group1 and cn=group2.

Access Control Policies in the Realm

You must configure appropriate ACLs in Oracle Internet Directory to enable Oracle Directory Integration and Provisioning to:

  • Enable the import profile to add, modify and delete objects in the users and groups containers. By default, import profiles are part of the Realm Administrators group, which can perform all operations on any entry under the realm DN. If you have customized ACLs in the realm, then be sure that the import profiles have the appropriate privileges to perform these operations on the subtree to be synchronized or on either the user container, the group container, or both depending on where the synchronization takes place.

  • Enable Oracle components to manage the users and groups in the realm. By default, Oracle components can manage users and groups in the users and groups containers respectively. If you have updated your usersearchbase and groupsearchbase in the realm, then set up appropriate ACLs on the users container and groups container.


See Also:

The chapter on deployment of Oracle Identity Management realms in Oracle Internet Directory Administrator's Guide for a description of the default realm installed with Oracle Internet Directory

Planning the Deployment

When planning the DIT, the most important decisions to make before synchronization are:

  • Which directory is to be the central one

  • What objects to synchronize, for example:

    • The portion of the DIT that you want to synchronize. You can synchronize the entire DIT or just a portion of it.

    • For each entry, the specific contents that you want to synchronize. You can synchronize the entire content of the entry or just a portion of it.

  • Where to synchronize. You have two options:

    • You can synchronize so that the relative position of each entry in the DIT is the same in the source and destination directories. This configuration, called one-to-one distinguished name mapping, is the most commonly used configuration. Because the source DN is the same as the destination DN, this configuration provides better performance than when the two DNs are different.

    • You can synchronize so that the relative position in the DIT of each entry in the destination directory is different from that in the source directory. In this configuration, the Oracle directory integration and provisioning server must change the DN values of all entries being mapped, including their references in group entries. This requires more intensive computation.

      If you synchronize in this way, you need to use the dnconvert mapping rule as described in "Supported Attribute Mapping Rules and Examples".


See Also:

The section "Choose the Structure of the Directory Information Tree" for more information about planning the directory information tree

Example: Integration with a Single Microsoft Active Directory Domain Controller

Figure 16-3 shows an example of one-to-one mapping between the two directories.

Figure 16-3 Default DIT Structures in Oracle Internet Directory and Active Directory When Both Directory Hosts Are Under the Domain us.MyCompany.com

Description of oimig003.gif follows
Description of the illustration oimig003.gif

In the one-to-one mapping illustrated in Figure 16-3:

  • Both Active Directory and Oracle Internet Directory hosts have the same topology.

  • Users are synchronized only from Active Directory to Oracle Internet Directory. All users to be synchronized are stored in one container in Active Directory, in this case users.us.MyCompany.com.

  • The same DIT structure is maintained in both Active Directory and Oracle Internet Directory. All users appear in the same users subtree identified by the value cn=users,dc=us,dc=MyCompany,dc=com.

In the example shown in , only the users subtree must be synchronized from Active Directory to Oracle Internet Directory using one-to-one domain mappings.


Note:

In the example in , the two directories have the same topology, but be aware that this is for illustration purposes only. The two directories do not need to be in the same domain. Oracle Internet Directory can be anywhere in the network, provided it can connect to Microsoft Active Directory.

In addition, although the synchronization in the example is one-way, from Microsoft Active Directory to Oracle Internet Directory, the synchronization can, alternatively, be bi-directional.


Example: Integration with Multiple Microsoft Active Directory Domain Controllers

A deployment of Microsoft Active Directory with multiple domains can have either a single DIT or a combination of two or more DITs. In Microsoft Active Directory, a group of DITs is called a forest.

One-to-One Mapping of Multiple Microsoft Active Directory Domains

Figure 16-4 shows how multiple domains in Microsoft Active Directory are mapped to a DIT in Oracle Internet Directory.

Figure 16-4 Example of a Mapping Between Oracle Internet Directory and Multiple Domains in Microsoft Active Directory

Description of oimig002.gif follows
Description of the illustration oimig002.gif

In Figure 16-4, the Microsoft Active Directory environment has a parent and two children. Each domain has a domain controller associated with it. The Active Directory domain controller supporting the node us.mycompany.com is the Global Catalog server.

The first child domain a.us.MyCompany.com maps to dc=a,dc=us,dc=MyCompany,dc=com in Oracle Internet Directory. The second child domain b.us.MyCompany.com maps to dc=b,dc=us,dc=MyCompany,dc=com in Oracle Internet Directory. The common domain component in Active Directory environment us.MyCompany.com maps to the default identity management realm in Oracle Internet Directory, in this case dc=us,MyCompany,dc=com.

Mapping of a Microsoft Active Directory Forest

Figure 16-5 shows how a forest in Microsoft Active Directory is reflected in Oracle Internet Directory.

Figure 16-5 Mapping Between Oracle Internet Directory and a Forest in Microsoft Active Directory

Description of oimig004.gif follows
Description of the illustration oimig004.gif

In this directory, two domain trees constitute a forest. These trees are in a trust relationship, that is, users in one domain are authenticated by the domain controller in the other domain. This forest in Microsoft Active Directory maps to an identically structured subtree in Oracle Internet Directory.

Foreign Security Principals

A Microsoft Active Directory user or computer account represents a physical entity such as a computer or person. User accounts and computer accounts, as well as groups, are called security principals. Security principals are directory objects that are automatically assigned security identifiers. Objects with security identifiers can log on to the network and access domain resources. A user or computer account is used to:

  • Authenticate the identity of the user or computer

  • Authorize or deny access to domain resources

  • Administer other security principals

  • Audit actions performed using the user or computer account

For example, the user and computer accounts that are members of the Enterprise Administrators group are automatically granted permission to log on at all of the domain controllers in the forest.

User and computer accounts are added, disabled, reset, and deleted by using Microsoft Active Directory Users and Computers.

In a trust relationship in Active Directory, users in one domain are authenticated by a domain controller in another domain. The trust relationship can be transitive or nontransitive.

  • In a transitive trust relationship, the trust relationship extended to one domain is automatically extended to all other domains that trust that domain. For example, suppose you have three domains: A, B, and C in which both B and C are in a direct trust relationship with A. In this scenario, both B and C also trust each other. This is because, although they are not in a direct trust relationship with each other, they are in a direct trust relationship with A.

  • In a nontransitive trust relationship, the trust is bound by the two domains in the trust relationship; it does not flow to any other domains in the forest.

When a trust is established between a Windows 2000 domain in a particular forest and a Windows 2000 domain outside of that forest, security principals from the external domain can be granted access to resources in the forest. A security principal from an external domain is called a foreign security principal and is represented in Active Directory as a "foreign security principal" object. These foreign security principals can become members of domain local groups, which can have members from domains outside of the forest.

Foreign security principals are used when there is a nontransitive trust between two domains in a Microsoft Active Directory environment.

In a nontransitive trust relationship in a Microsoft Active Directory environment, when one domain recognizes a foreign security principal from the other domain, it represents that entity similar to a DN entry. In that entry, the RDN component is set to the SID of the original entry in the trusted domain. In the case of groups, the DNs of the foreign security principals are represented as member values, not as the DNs of the original entries in the trusted domain. This can create a problem when foreign security principals are synchronized with Oracle Internet Directory.

Deployment Options for Integrating with Microsoft Active Directory

There are two common ways of integrating with a Microsoft Windows environment:

This section discusses the requirements of each deployment. It contains the following topics:

Deployments with Oracle Internet Directory as the Central Directory

Table 16-2 describes the typical requirements in this deployment.

Table 16-2 Typical Requirements with Oracle Internet Directory as the Central Directory

Requirement Description
Initial startup The Directory Integration and Provisioning Assistant populates Microsoft Active Directory with users and groups stored in Oracle Internet Directory.

If there are multiple Microsoft Active Directory domains, then the Directory Integration and Provisioning Assistant must be run as many times as there are Microsoft Active Directory domains. Each time you do this, you choose the specific data set required by the target Microsoft Active Directory domain.

Synchronization User and group information is managed in Oracle Internet Directory. Changes to that information are synchronized with Microsoft Active Directory by the Oracle directory integration and provisioning server when an import profile has been configured.

Synchronization from Microsoft Active Directory into Oracle Internet Directory can be achieved by configuring an import profile.

Passwords and password verifiers Passwords are managed in Oracle Internet Directory by using Oracle tools such as the Oracle Internet Directory Self-Service Console. Password changes are synchronized with Microsoft Active Directory by the Oracle directory integration and provisioning server. However, before this server can synchronize the password changes, the password synchronization must be configured in the mapping rules.

Because the password is securely managed, the communication for synchronizing passwords to Microsoft Active Directory must be over SSL. Run the Oracle directory integration and provisioning server in the server-only authentication mode with the proper certificate from Microsoft Active Directory. Be sure that Active Directory is also enabled for SSL.

If the Oracle environment requires a password verifier, then the password verifier is automatically generated when a new user entry is created or when a password is modified.

Oracle Application Server Single Sign-On
Users log in to the Oracle environment by using the OracleAS Single Sign-On server.

When called upon by the OracleAS Single Sign-On server to authenticate a user, the Oracle directory server uses credentials available locally. No external authentication is involved.

Users must log in only once to access various components in the Oracle environment.


New users or groups in Oracle Internet Directory can be automatically provisioned into the Microsoft Windows environment by the Oracle directory integration and provisioning server. This automatic provisioning requires that:

  • The Oracle directory server is running with the change log enabled

  • The change log is not purged

If these two conditions are not met, then you must load the entries in Oracle Internet Directory to an LDIF file and upload the data to Microsoft Active Directory.

If multiple Microsoft Active Directory domains are involved, then the Oracle directory integration and provisioning server provisions users and groups in the respective Microsoft Active Directory domains. Before provisioning can take place, you must configure a one-way synchronization from Oracle Internet Directory to the Microsoft Active Directory domain.


See Also:

The chapter on garbage collection in Oracle Internet Directory Administrator's Guide for information about purging the change log

Deployments with Microsoft Active Directory as the Central Directory

Table 16-3 describes the typical requirements in this deployment.

Table 16-3 Typical Requirements with Microsoft Active Directory as the Central Directory

Requirement Description
Initial startup The Directory Integration and Provisioning Assistant populates Oracle Internet Directory with users and groups stored in Microsoft Active Directory.

If there are multiple Microsoft Active Directory servers, then you must bootstrap the data from each Microsoft Active Directory domain. If you use the Global Catalog for one-way synchronization from Microsoft Active Directory to Oracle Internet Directory, then you need to bootstrap only once from the Global Catalog server.

You can choose to manage user information, including password credentials, in Microsoft Active Directory only. In such deployments, to enable single sign-on in the Oracle environment, the Oracle directory integration and provisioning server can synchronize only those user entry attributes required by Oracle components.

Passwords are not migrated from Microsoft Active Directory to Oracle Internet Directory.

Synchronization The central directory for user and group information is Microsoft Active Directory. Changes to user and group information in Active Directory are synchronized with Oracle Internet Directory by the Oracle directory integration and provisioning server when an import profile has been configured.

Synchronization from Oracle Internet Directory to Microsoft Active Directory is achieved by configuring an export profile.

Passwords and password verifiers Passwords are managed in typically Active Directory by using Microsoft Windows tools. The Oracle directory integration and provisioning server does not synchronize password changes into Oracle Internet Directory.
Oracle Application Server Single Sign-On
Users log in to the Oracle environment only once by using the OracleAS Single Sign-On server.

Users with credentials only in Microsoft Active Directory are authenticated by the Oracle directory server invoking the external authentication plug-in.

Users with credentials in Oracle Internet Directory are authenticated locally by the Oracle directory server.

Windows native authentication Same as in Oracle Internet Directory-centered deployment. However, for a user to use Windows native authentication, a user must exist in Active Directory.

If Windows native authentication is enabled, then, for local Oracle Internet Directory users to invoke the single sign-on server, you must populate the attributes orclsamaccountname and krbprincipalname for each user entry.

Active Directory external authentication plug-in When user credentials are managed in Microsoft Active Directory, this plug-in is required. To authenticate a user, the OracleAS Single Sign-On server calls upon the Oracle directory server. The plug-in then performs the authentication of the user against the user credentials stored in Active Directory.

New users or groups created in Microsoft Active Directory are automatically synchronized into Oracle Internet Directory by the Oracle directory integration and provisioning server. Before the provisioning can take place, a one-way synchronization between Microsoft Active Directory and Oracle Internet Directory must be established.

If multiple Microsoft Active Directory domains are involved, then the Oracle directory integration and provisioning server synchronizes users and groups from the respective Microsoft Active Directory domains into Oracle Internet Directory. Before the provisioning can take place, a one-way synchronization between Oracle Internet Directory and a domain controller on each Microsoft Active Directory domain must be established.

Passwords are not migrated from Microsoft Active Directory to Oracle Internet Directory.

Configuration of Integration with Microsoft Active Directory

This section contains these topics:

Configuring the Realm

To configure the realm, do the following:

  1. Choose the realm DN structure as described in the section "Choose the Structure of the Directory Information Tree", and, more specifically, in the section "Planning the Deployment".

  2. Select the attribute for the login name of the user. This attribute contains the name of the attribute used for logging in. By default, it is uid. If you are integrating with Microsoft Active Directory, and the userprincipalname attribute is used for logging in, then you would map userprincipalname to the uid attribute in Oracle Internet Directory. For more information, see the section "Select the Attribute for the Login Name".

  3. Set up the usersearchbase and groupsearchbase values in Oracle Internet Directory. These values indicate to the various Oracle components where to look for users and groups in Oracle Internet Directory. They are set to default values during installation. However, in deployments requiring integration with Active Directory, you may need to reset these values so that they correspond to the DIT structures in the two directories. Be sure to set them correctly. Otherwise, even if the synchronization seems to function properly, components still may be unable to access users and groups in Oracle Internet Directory.

    To illustrate how you might configure the user search base and group search base: In the example in , the value of usersearchbase should be set to cn=users,dc=us,dc=MyCompany,dc=com or one of its parents. Similarly, assuming there is a subtree named groups in the DIT, the multivalued groupsearchbase attribute should be set to both of the following:

    • cn=groups,dc=us,dc=MyCompany,dc=com or one of its parents

    • cn=users,dc=us,dc=MyCompany,dc=com

    To configure the user search base and group search base, use the Oracle Internet Directory Self-Service Console.

  4. Set up the usercreatebase and groupcreatebase values in Oracle Internet Directory. These values indicate to the various Oracle components where users and groups can be created. They are set to default values during installation.

    To illustrate how to configure the user create base and group create base: In the example in , the value of usercreatebase should be set to cn=users,dc=us,dc=MyCompany,dc=com or one of its parents. Similarly, the groupcreatebase should be set to cn=groups,dc=us, dc=MyCompany,dc=com or one of its parents.

    To configure the user create base and group create base, use the Oracle Internet Directory Self-Service Console.


See Also:

The section on modifying configuration settings for an identity management realm in Oracle Identity Management Guide to Delegated Administration

Configuring Synchronization Profiles

This section describes various customizations that a deployment may require. It contains these topics:


Note:

Be sure your ORACLE home environment variable is set to the correct value; otherwise, the commands specified in various scenarios do not function properly.

About the Sample Synchronization Profiles

During installation, three sample Active Directory Connector synchronization profiles are provided. You can customize these samples to meet your deployment needs. The sample synchronization profiles are:

  • ActiveImport—The profile for importing changes from Microsoft Active Directory to Oracle Internet Directory by using the DirSync approach

  • ActiveChgImp—The profile for importing changes from Microsoft Active Directory to Oracle Internet Directory by using the USN-Changed approach

  • ActiveExport—The profile for exporting changes from Oracle Internet Directory to Microsoft Active Directory

Whether you use ActiveImport or ActiveChgImp depends on the method you chose for tracking changes, either DirSync or USN-Changed.

If these sample profiles meet your needs, then copy them and use the exact copies for running Active Directory Connector. If they do not meet your needs, then copy them and customize the copies.

To copy the sample profiles, use the createprofilelike (cpl) command of the Directory Integration and Provisioning Assistant, then enable the profile by following the instructions in Chapter 7, "Administration of Directory Synchronization". When you restart the Oracle directory integration and provisioning server, it uses the duplicate profile for synchronization, automatically refreshing its cache with any changed information.

Mapping Rules

 Mapping rules, an important part of the synchronization profile, determine the directory information to be synchronized and how it is to be transformed when synchronized. You can change mapping rules at run time to meet your requirements.

Each sample Active Directory synchronization profile includes default mapping rules. These rules contain a minimal set of default user and group attributes configured for out-of-the-box synchronization.


Note:

When a synchronization is underway, it relies on the mapping rules configured prior to any changes in the directory. To ensure consistent mapping, you may need to remove an already synchronized entry or perform a full synchronization.


See Also:


Creating Synchronization Profiles

To create new profiles, copy the sample profiles provided during installation and modify the copies.

To create and configure new profiles, use the Directory Integration and Provisioning Assistant. The Assistant can be invoked as a command-line tool or a graphical interface tool.

  • To invoke the Assistant as a command-line tool enter dipassistant.

  • To invoke the Assistant as a graphical interface tool, enter the following command:

    $ORACLE_HOME/bin/dipassistant -gui
    
    

    This displays the Oracle Directory Integration and Provisioning Server Administration tool, which provides a subset of the functionality provided through the command-line version of the tool.

Configuring the Connection Details for Microsoft Active Directory

You can configure the Active Directory Connector by using either the Oracle Directory Integration and Provisioning Server Administration tool or the express configuration option of the Directory Integration and Provisioning Assistant. Using either of these, you can specify the connection details as input to the script. This is the recommended method for configuring these details.

You can also create the profiles based on the template properties file provided during installation. If you are doing this, then you must specify the connection details in the odip.profile.condirurl, odip.profile.condiraccount, and odip.profile.condirpassword properties of the profile.

In addition to specifying the connection details, you must also ensure that the user account in Active Directory has the privileges to replicate directory changes for every domain of the forest monitored for changes. You can do this by one of the following methods:

  • Grant to this account Domain Administrative permissions

  • Make this account a member of the Domain Administrator's group

  • Grant to this account Replicating Directory Changes permissions for every domain of the forest that is monitored for changes

To grant this permission to a non-administrative user, follow the instructions in the "More Information" section of the Microsoft Help and Support article "How to Grant the 'Replicating Directory Changes' Permission for the Microsoft Metadirectory Services ADMA Service Account" available at http://support.microsoft.com/.

Customizing Mapping Rules

Mapping rules govern the way data is transformed when a source directory and a destination directory are synchronized. Customize the default mapping rules found in the sample profiles when you need to do the following:

  • Change distinguished name mappings. The distinguished name mappings establish how the Microsoft Active Directory DIT maps to the Oracle Internet Directory DIT.

  • Change the attributes that need to be synchronized.

  • Change the transformations (mapping rules) that occur during the synchronization.

You can perform any mapping if the resulting data in the destination directory conforms to the schema in that directory.


Note:

For password synchronizations, there are additional mapping considerations. See the section "Synchronizing Passwords".


See Also:

The section "Configuring Mapping Rules" for a full discussion of mapping rules

Distinguished Name Mapping

 You can change how the DIT in Active Directory maps to the one in Oracle Internet Directory.

Example 16-1 Example of Distinguished Name Mapping

Distinguished Name Rules
%USERBASE INSOURCE%:%USERBASE ATDEST%:

USERBASE refers to the container from which Microsoft Active Directory users and groups must be mapped. Usually, this is the users container under the root of the Microsoft Active Directory domain.

Example 16-2 Example of One-to-One Distinguished Name Mapping

For one-to-one mapping to occur, the DN in Microsoft Active Directory must match that in Oracle Internet Directory.

In this example, the DN in Microsoft Active Directory matches the DN in Oracle Internet Directory. More specifically:

  • The Microsoft Active Directory host is in the domain us.mycompany.com, and, accordingly, the root of the Microsoft Active Directory domain is us.mycompany.com. A user container under the domain would have a DN value cn=users,dc=us,dc=mycompany,dc=com.

  • Oracle Internet Directory has a default realm value of dc=us,dc=mycompany,dc=com. This default realm automatically contains a users container with a DN value cn=users,dc=us,dc=mycompany,dc=com.

Because the DN in Microsoft Active Directory matches the DN in Oracle Internet Directory, one-to-one distinguished name mapping between the directories can occur.

If you plan to synchronize only the cn=users container under dc=us,dc=mycompany,dc=com, then the domain mapping rule is:

Distinguished Name Rules
cn=users,dc=us,dc=mycompany,dc=com:cn=users,dc=us,dc=mycompany,dc=com 

This rule synchronizes every entry under cn=users,dc=us,dc=mycompany,dc=com. However, the type of object synchronized under this container is determined by the attribute-level mapping rules that follow the DN Mapping rules.

If you plan to synchronize the entry cn=groups,dc=us,dc=mycompany,dc=com under cn=users,dc=us,dc=mycompany,dc=com then the domain mapping rule is as follows:

cn=groups,dc=us,dc=mycompany,dc=com: cn=users,dc=us,dc=mycompany,dc=com

Attribute-Level Mapping

 Attribute-level mapping specifies:

  • The attributes in source directory that are to be synchronized

  • The corresponding attributes in the target directory with which they are to be synchronized

  • Any transformation of attribute values that is to occur as the data is synchronized from one directory to the other

The following attribute-level mapping is mandatory for all objects:

ObjectGUID:  :  : :orclObjectGUID:
ObjectSID:  :  : :orclObjectSID:

Example 16-3 Attribute-Level Mapping for the User Object

SAMAccountName:1: :user:orclADSAMAccountName: :orclADUser
userPrincipalName: : :user:orclADUserPrincipalName:
:orclADUser:userPrincipalName

Example 16-4 Attribute-Level Mapping for the Group Object

SAMAccountName:1: :user:orclADSAMAccountName: :orclADGroup

Here, SAMAccountName and userPrincipalName from Microsoft Active Directory are mapped to orclADSAMAccountName and orclADUserPrincipalName in Oracle Internet Directory.

Adding another attribute to be synchronized requires adding another rule, as previously indicated earlier. Similarly, if an attribute no longer needs to be synchronized, then the corresponding rule needs to be removed or put in a comment.


See Also:

  • The section "Supported Attribute Mapping Rules and Examples" for examples of how attribute values are transformed when synchronized from one directory to another

  • The file $ORACLE_HOME/ldap/odi/conf/activeimp.map.master for an example of import mapping rules.


How to Customize the Mapping Rules

 To customize the mapping rules:

  1. Make a duplicate of the sample mapping rules file based on your deployment scenario—for example, whether you are using the DirSync approach or the USN-Changed approach, or whether or not you are doing one-to-one mapping.

  2. Edit the sample mapping rules file to make the previously discussed modifications. The sample mapping rules files are stored in the directory $ORACLE_HOME/ldap/odi/conf with the extension of map.master for the various profiles. You can find instructions for editing mapping rules in "Configuring Mapping Rules".

  3. After the changes are made, enter the following command:

    $ORACLE_HOME/bin/dipassistant modifyprofile -profile profile_name 
    -host oid_host -port oid_port -dn DN -passwd password
    odip.profile.mapfile=path_name
    
    

    For example:

    $ORACLE_HOME/bin/dipassistant modifyprofile -profile my_profile 
    -host my_host -port 3060 -dn cn=orcladmin -passwd welcome1
    odip.profile.mapfile=my_profile.map
    
    

Customizing the LDAP Schema

Customizing the LDAP schema is required if:

  • A directory deployment contains schema extensions such as custom object classes and attributes

  • The custom attributes must be synchronized from one directory server to the other

To customize the LDAP schema, you must:

  • Identify the schema extensions on the source directory

  • Create those extensions on the target directory before starting the data migration and the synchronization.


    Note:

    In addition to creating schema extensions, you must also add the attribute to be synchronized with the corresponding object classes to the mapping rules.


    See Also:


Customizing the Search Filter to Get Information from Microsoft Active Directory

By default, Active Directory Connector retrieves changes to all objects in the container configured for synchronization. If you are interested in retrieving only a certain type of change, for example only changes to users and groups, then you should configure an LDAP search filter. This filter screens out changes that are not required when Active Directory Connector queries Active Directory. The filter is stored in the searchfilter attribute in the synchronization profile.

In the sample profiles activeChgImp and activeImport, only groups and users are retrieved from Microsoft Active Directory. Computers are not retrieved. The value of the searchfilter attribute is set as: searchfilter=(|(objectclass=group)(&(objectclass=user)(!(objectclass=computer))).

You can use either Oracle Directory Integration and Provisioning Server Administration tool or Directory Integration and Provisioning Assistant to update the searchfilter attribute.

To customize the search filter by using the Directory Integration and Provisioning Assistant:

  1. Enter the following command to customize the Connected Directory Matching Filter (orclODIPConDirMatchingFilter) attribute:

    $ORACLE_HOME/bin/dipassistant modifyprofile -D bindDn -w password -profile
    profName odip.profile.condirfilter=searchfilter=(|(objectclass=group)
    (objectclass=organizationalunit)(&(objectclass=user)(!(objectclass=computer)))) 
    
    
  2. Enter the following command to customize the OID Matching Filter (orclODIPOIDMatchingFilter) attribute:

    $ORACLE_HOME/bin/dipassistant modifyprofile -D bindDn -w password 
    -profile profName odip.profile.oidfilter=orclObjectGUID 
    
    

To customize the search filter by using the Oracle Directory Integration and Provisioning Server Administration tool:

  1. Launch the Oracle Directory Integration and Provisioning Server Administration tool by entering:

    $ORACLE_HOME/bin/dipassistant -gui
    
    
    
  2. In the navigator pane, expand directory_integration_and_provisioning_server, then expand Integration Profile Configuration.

  3. Select the configuration set, and, in the right pane, select the profile you want to customize. The Integration Profile window appears.

  4. In the Integration Profile window, select the Mapping tab. The fields in this tab page are described in "Mapping".

  5. In the Mapping tab page, in the Connected Directory Matching Filter (orclODIPConDirMatchingFilter) and the OID Matching Filter (orclODIPOIDMatchingFilter) fields, enter the appropriate values for the searchfilter attribute. Instructions for specifying the searchfilter attribute are provided in the section "Filtering Changes with an LDAP Search".

  6. Choose OK.


Note:

All attributes specified in the searchfilter attribute should be configured as indexed attributes in Microsoft Active Directory.


See Also:

The appendix on the LDAP filter definition in Oracle Internet Directory Administrator's Guide for instructions on configuring an LDAP search filter

Synchronizing Deletions from Microsoft Active Directory

Active Directory deletions can be synchronized with Oracle Internet Directory by querying for them in Active Directory. The way to do this depends on whether you are using the DirSync approach or the USN-Changed approach.

For the DirSync approach, the Active Directory user account that the Oracle directory integration and provisioning server uses to access Active Directory must have Domain Administrative permissions, belong to the Domain Administrators group, or be explicitly granted Replicating Directory Changes permissions. For information on how to grant Replicating Directory Changes permissions, see Article ID 303972 at http://support.microsoft.com.

For the USN-Changed approach, the Active Directory user account that the Oracle directory integration and provisioning server uses to access Active Directory must have "List Content" and "Read Properties" permission to the cn=Deleted Objects container of a given domain. In order to set these permissions, you must use the dsacls.exe command that is available with recent versions of Active Directory Application Mode (ADAM). You can download the most recent version of ADAM at http://www.microsoft.com/downloads/.

Synchronizing Passwords

You can synchronize Oracle Internet Directory passwords with Active Directory. You can also make passwords stored in Microsoft Active Directory available in Oracle Internet Directory. Password synchronization is possible only when the directories run in SSL mode 2, that is, server-only authentication, as described in "Starting the Oracle Directory Integration and Provisioning Server by Using the OID Control Utility".

Synchronizing Passwords from Oracle Internet Directory to Microsoft Active Directory

 Before Active Directory Connector can synchronize passwords in this direction, do the following:

  • Add a mapping rule that enables password synchronization. For example:

    Userpassword: : :inetorgperson:unicodepwd: :user
    
    
  • Enable the password policy and reversible password encryption in the Oracle directory server. To do this, assign a value of 1 to the orclPwdPolicyEnable and orclpwdEncryptionEnable attributes in the entry cn=PwdPolicyEntry,cn=common,cn=products,cn=oraclecontext,DN_of_realm. You can do this by using either Oracle Directory Manager or ldapmodify.


See Also:


Synchronizing from Microsoft Active Directory to Oracle Internet Directory

 Because passwords in Microsoft Active Directory cannot be accessed by LDAP clients, you cannot synchronize Oracle Internet Directory passwords with Microsoft Active Directory in Oracle Application Server. However, if a deployment requires passwords to be available in Oracle Internet Directory, then Oracle recommends the following two methods:

  • Build a custom plug-in for Active Directory that captures a password change and synchronizes it with Oracle Internet Directory. For more information:

  • Manage Active Directory passwords from the Oracle environment. With this method, passwords are available in both Oracle Internet Directory and Microsoft Active Directory. The Active Directory Connector can synchronize the two directories.


Note:

To synchronize passwords, you must enable SSL mode as discussed in "Configuring the Active Directory Connector for Synchronization in SSL Mode".

Customizing Access Control Lists

This section discusses how to customize ACLs for import profiles, export profiles, and for other Oracle components. It contains these topics:

Customizing ACLs for Import Profiles

The import profile is the identity used by the Oracle directory integration and provisioning server to access Oracle Internet Directory. ACLs must enable the import profile to add, modify, and delete objects in either the users and groups containers or the subtree where entries are accessed. By default, import profiles are part of the Realm Administrators group (cn=RealmAdministrators, cn=groups,cn=OracleContext,realm_DN) in the default realm. This group grants privileges to perform all operations on any entry under the DN of the default realm.

You should not need to customize the ACLs for import synchronization with the default realm that is installed with Oracle Internet Directory Release 10g Release 2 (10.1.2). If you are upgrading from an earlier version of Oracle Internet Directory, or if the synchronization is with a nondefault Oracle Internet Directory realm, then be sure that the necessary privileges in the proper subtree or containers are granted to the import profiles handling the synchronization.

For an ACL template in LDIF format, see the file $ORACLE_HOME/ldap/schema/oid/oidRealmAdminACL.sbs. If you have not changed the ACLs on the default realm, then this template file can be applied directly after instantiating the substitution variables, replacing %s_SubscriberDN% with the default realm DN in Oracle Internet Directory and replacing %s_OracleContextDN% with cn=OracleContext,default_realm_DN respectively. For example, if realmacl.ldif is the instantiated file, then you can upload it by using the following ldapmodify command:

$ORACLE_HOME/bin/ldapmodify -h <OID host> -p <OID port> 
-D "DN of privileged OID user" -w "password of privileged OID user" 
-v -f realmacl.ldif

See Also:

The chapter on access controls in Oracle Internet Directory Administrator's Guide

Customizing ACLs for Export Profiles

To enable the Oracle directory integration and provisioning server to access Active Directory, you must create an identity in Active Directory. This identity is configured in each export profile.

ACLs for Other Oracle Components

Default ACLs enable you to create, modify, and delete users and groups, but only in the users and groups containers under the default realm. To synchronize objects in other containers, you must customize the ACLs.

There are sample ACL files that you can use to customize ACLs for Oracle Components. These sample files are installed in the directory $ORACLE_HOME/ldap/schema/oid/. They are:

  • oidUserAdminACL.sbs—Grants necessary rights to the subtree for Oracle components to manage and access users

  • oidGroupAdminACL.sbs—Grants necessary rights to the subtree for Oracle components to manage and access groups.

  • oidUserAndGroupAdminACL.sbs—Grants the privileges for Oracle components to manage and access users and groups in the subtree.

You can customize your ACL policy to grant privileges on a container-by-container basis with the required rights.


See Also:

The chapter on access control in Oracle Internet Directory Administrator's Guide for instructions on customizing ACLs

Configuring the Active Directory Connector for Synchronization in SSL Mode

Active Directory Connector uses SSL to secure the synchronization process. Whether or not you synchronize in the SSL mode depends on your deployment requirements. For example, synchronizing public data does not require SSL, but synchronizing sensitive information such as passwords does. To synchronize password changes between Oracle Internet Directory and Microsoft Active Directory, you must use SSL mode with server-only authentication, that is, SSL Mode 2.

Securing the channel requires:

  • Enabling SSL between Oracle Internet Directory and the Oracle directory integration and provisioning server

  • Enabling SSL between the Oracle directory integration and provisioning server and Microsoft Active Directory

Although you can enable SSL either between Oracle Internet Directory and the Oracle directory integration and provisioning server or between that server and Microsoft Active Directory, Oracle recommends that you completely secure the channel before you synchronize sensitive information. In certain cases, such as password synchronization, synchronization can occur only over SSL.

Configuring SSL requires the following:

  • Running the Oracle directory server in SSL mode as described in the chapter on Secure Sockets Layer (SSL) in Oracle Internet Directory Administrator's Guide

  • Running the Oracle directory integration and provisioning server in the SSL mode as described in Chapter 2, "Security Features in Oracle Directory Integration and Provisioning". The SSL mode should be the same as the one in which Oracle Internet Directory server was started. When starting the Oracle directory integration and provisioning server, specify the sslauth parameter to 1 for no authentication or 2 for server-only authentication.

  • Running the Microsoft Active Directory server in SSL mode. Communication with Microsoft Active Directory over SSL requires SSL Mode 2, that is, server-only authentication. This requires that both Oracle Internet Directory and the Oracle directory integration and provisioning server be run in SSL mode 2.

  • Configuration of the Microsoft Active Directory connector to use SSL. This includes creating a wallet which will contain the certificates for both Oracle Internet Directory and Microsoft Active Directory. For more information, see "Managing the SSL Certificates of Oracle Internet Directory and Connected Directories".


Note:

The Oracle Directory Integration Platform does not support SSL in the client/server authentication mode.

Considerations for Synchronizing with a Multiple-Domain Microsoft Active Directory Environment

This section describes how to import from Microsoft Active Directory to Oracle Internet Directory and export from Oracle Internet Directory to Microsoft Active Directory.

Configuration Required for Importing from Microsoft Active Directory to Oracle Internet Directory

Normally, importing requires configuring one import profile for each Microsoft Active Directory domain regardless of whether you are using the DirSynch approach or the USN-Changed approach. However, if you are using the USN-Changed approach, you can use the Global Catalog to import from an entire Microsoft Active Directory forest. Although this requires configuring only one import profile, consider the following:

  • Because Global Catalog is read-only, you can use it only for importing data into Oracle Internet Directory.

  • Global Catalog does not contain all the attributes, although the available attributes can be configured in Microsoft Active Directory.

  • Because Global Catalog is a global synchronization point, the process can become congested as a result of additional access to the import file.


See Also:

The Microsoft Knowledge Base Article 256938 available from Microsoft Help and Support at http://support.microsoft.com/ for information about Global Catalog attributes in the Microsoft Active Directory schema

Configuration Required for Exporting from Oracle Internet Directory to Microsoft Active Directory

To integrate with multiple-domain Microsoft Active Directory environments, the Oracle directory integration and provisioning server obtains configuration information from each Active Directory domain. You must configure as many export profiles as there are Microsoft Active Directory domains.

Configuring the Active Directory Connector Profiles

The Oracle directory integration and provisioning server includes an express configuration option that you can run with either the Directory Integration and Provisioning Assistant or the Oracle Directory Integration and Provisioning Server Administration tool. Express configuration creates two synchronization profiles, one for import and one for export, using predefined assumptions. After you enable the profiles, you can immediately begin synchronizing users and groups between cn=users,default_naming_context in Microsoft Active Directory and cn=users,default_realm in Oracle Internet Directory.

The Active Directory connector import and export synchronization profiles created with express configuration are only intended as a starting point for you to use when deploying your integration of Oracle Internet Directory and Microsoft Active Directory. Because the default synchronization profiles are created using predefined assumptions, you must further customize them for your environment.


Note:

While customizing the synchronization profiles for your environment, you may need to add test users and groups to facilitate your deployment effort. Be sure to remove any test users and groups when your are finished customizing and testing your synchronization profiles.


WARNING:

In order to successfully customize your import and export synchronization profiles, do not enable SSL until you have finished with all other configuration tasks.


In order to successfully complete configuration of the profiles for your environment, be sure to perform the procedures listed in this section in the following order:

  1. Preparing for Synchronization

  2. Creating Synchronization Profiles with Express Configuration

  3. Customizing Attribute Mapping

  4. Final Configuration Requirements

  5. Configuring Synchronization Profiles for SSL

  6. Additional Considerations

Preparing for Synchronization

To prepare for synchronization between Oracle Internet Directory and Microsoft Active Directory:

  1. Plan your deployment by reading the following:

  2. Use Oracle Enterprise Manager 10g Application Server Control Console to verify that Oracle Internet Directory is running.


    See Also:

    • Oracle Internet Directory Administrator's Guide for information on how to work with the Oracle Enterprise Manager 10g Application Server Control Console

    • Your Microsoft Active Directory documentation for instructions on how to verify that Microsoft Active Directory is running


  3. Create a user account in Microsoft Active Directory with sufficient privileges to perform both import and export operations. Oracle Directory Integration and Provisioning will use this account to log in to Microsoft Active Directory.

    • For Import Operations from Microsoft Active Directory: Grant the user account read access privileges to the subtree root. The user account must be able to read all objects under the source container (subtree root) in Active Directory that are to be synchronized with the Oracle directory integration and provisioning server. To verify whether an Active Directory user account has the necessary privileges to all Active Directory objects to be synchronized with Oracle Internet Directory, use the command-line ldapsearch utility to perform a subtree search, as follows:

      $ORACLE_HOME/bin/ldapsearch -h <AD host> -p <AD port> -b "DN of subtree" 
      -s sub -D "DN of privileged AD user" -w "password for privileged AD user" 
      "objectclass=*" 
      
      

      The return results from the ldapsearch utility should include all objects of interest, including all attributes and values that will be synchronized.

      To synchronize deletions of users in Active Directory with Oracle Internet Directory, you must grant the user account the necessary privileges by following the instructions in "Synchronizing Deletions from Microsoft Active Directory".

    • For Export Operations to Microsoft Active Directory: Grant the user account the following privileges to the subtree root that is the parent of all the containers to which the Oracle directory integration and provisioning server will export users:

      • Write

      • Create all child objects

      • Delete all child objects


    See Also:

    Your Microsoft Active Directory documentation for information how to grant privileges to user accounts

Creating Synchronization Profiles with Express Configuration

This section describes how to create and customize synchronization profiles with express configuration. It contains these topics:

Understanding Express Configuration

To simplify the configuration, the express configuration option assumes the following:

  • Only creation and modifications of organizational units, users, and groups are synchronized.

    Entries for Users and groups in Active Directory are located in the container cn=users,default_naming_context.

  • Entries for users of the default realm in Oracle Internet Directory are located in the container cn=users,default_realm_DN.

  • Entries for groups of the default realm in Oracle Internet Directory are located in the container cn=groups,default_realm_DN

  • The method used for tracking changes in Active Directory is the USN-Changed approach.

  • The default Active Directory Connector profiles—namely, ActiveImport, ActiveExport, and ActiveChgImp—are present in the Oracle directory server.

  • The Directory Integration and Provisioning master mapping rules files created during installation are present in $ORACLE_HOME/ldap/odi/conf. The file names are activechg.map.master and activeexp.map.master.

  • The logon credential is that of a Directory Integration and Provisioning administrator with sufficient privileges to configure a profile, a realm, and access controls on the Users container in the Oracle directory server. Members of the Directory Integration and Provisioning Administrators group (cn=dipadmingrp,cn=odi,cn=oracle internet directory) have the necessary privileges.

  • Connections to Active Directory or Oracle Internet Directory are NOT over SSL.

Perform the following steps to run express configuration and verify that users and groups are synchronizing between cn=users,default_naming_context in Microsoft Active Directory and cn=users,default_realm in Oracle Internet Directory:

  1. Run express configuration by following the procedures described in "Running Express Configuration".

  2. Enable the import and export synchronization profiles by using either the Oracle Directory Integration and Provisioning Server Administration tool or the Directory Integration and Provisioning Assistant with the modifyprofile option. For example, the following Directory Integration and Provisioning Assistant command enables an import profile named myprofile:

    $ORACLE_HOME/bin/dipassistant modifyprofile -host myhost -port 3060 
    -passwd my_password -file import.profile -dn bind_DN 
    -passwd Password_of_bind_DN -profile myprofile odip.profile.status=ENABLE
    
    
  3. Start the Oracle directory integration and provisioning server by following the instructions described in "Starting, Stopping, and Restarting the Oracle Directory Integration and Provisioning Server".

  4. Wait until the scheduling interval has elapsed and verify that synchronization has started by entering the following command:

    $ORACLE_HOME/bin/ldapsearch -h <OID host> -p <OID port>
    -D "DN of privileged OID user" -w "password of privileged OID user"
    -b "orclodipagentname=activechgimp,cn=subscriber profile,cn=changelog
    subscriber,cn=oracle internet directory" -s base "objectclass=*"
    orclodipsynchronizationstatus orclodiplastsuccessfulexecutiontime
    

    Note:

    The default scheduling interval is 60 seconds (1 minute). You can use the Directory Integration and Provisioning Assistant or the Oracle Directory Integration and Provisioning Server Administration tool to change the default scheduling interval. For more information, see Chapter 3, "Oracle Directory Integration and Provisioning Administration Tools".

    When synchronization is successfully started:

    • The value of the Synchronization Status attribute is Synchronization Successful.

    • The value of the Last Successful Execution Time attribute is the specific date and time of that execution. Note that this must be close to the current date and time.

    An example of a result indicating successful synchronization is:

    Synchronization successful November 04, 2003 15:56:03
    

    Note:

    • The date and time must be close to current date and time.

    • When running the ldapsearch command, you need the dipadmin password, which, as established at installation, is the same as orcladmin password.


  5. After verifying that synchronization has started, examine the entries in Oracle Internet Directory and Microsoft Active Directory to confirm that users and groups are synchronizing between cn=users,default_naming_context in Microsoft Active Directory and cn=users,default_realm in Oracle Internet Directory.

Running Express Configuration

You can run express configuration using either the Oracle Directory Integration and Provisioning Server Administration or the Directory Integration and Provisioning Assistant, as described in the following sections:

Running Express Configuration with the Oracle Directory Integration and Provisioning Server Administration Tool

 To perform an express configuration of the Active Directory Connector:

  1. Launch the Oracle Directory Integration and Provisioning Server Administration tool by entering:

    $ORACLE_HOME/bin/dipassistant -gui
    
    
  2. In the Oracle Directory Integration and Provisioning Server Administration tool, expand directory_server, then Integration Profile Configuration, and select Active Directory Connector Configuration. The corresponding tab pages appear in the right pane.

  3. In the Active Directory Connector Express Synchronization tab page, enter the appropriate values.

  4. Choose Apply.

Running Express Configuration with the Directory Integration and Provisioning Assistant

 To perform an express configuration of the Active Directory Connector:

  1. Launch the Directory Integration and Provisioning Express Configuration Tool:

    $ORACLE_HOME/bin/dipassistant expressconfig 
    [-h oracle_internet_directory_host 
    -p oracle_internet_directory_port -configset configuration_set_entry]
    
    

    The arguments in the preceding example are listed in Table 16-4.

    Table 16-4 Arguments for the Directory Integration and Provisioning Express Configuration Tool

    Argument Description
    oracle_internet_directory_host Host of the Oracle directory server. The default is the local host.
    oracle_internet_directory_port Non-SSL port for Oracle Internet Directory. The default is 389.
    configuration_set_entry Configuration set for Oracle Directory Integration and Provisioning. The default is 1.

  2. When prompted, enter the following information:

    • Oracle Internet Directory credentials. You must specify the super user, that is, cn=orcladmin, or any user that is a member of the Directory Integration and Provisioning Administrators group (cn=dipadmingrp,cn=odi,cn=oracle internet directory).

    • Active Directory connection details and credentials of a privileged user. To synchronize deletions, you must have the necessary administrative privileges in Microsoft Active Directory, for example administrator@MyCompany.com if the host on which Microsoft Active Directory is installed is hostname@us.oracle.com.

    • Name to identify the synchronization profiles to be created. For example, if you specify the name abc, then the tool creates two profiles: abcImport and abcExport.

    • (Optional) Appropriate ACLs on the cn=users container. You can choose to enable users and groups to be managed by Oracle components under the cn=users container. If you customize ACLs in this way, then the original ACLs are saved in $ORACLE_HOME/ldap/odi/archive/profile_name_prefix_useracl.ldif.

Additional Synchronization Considerations

This section describes additional issues that you may need to consider when configuring your synchronization profiles. It contains these topics:

Handling Synchronization Errors

While examining synchronization results, you may notice that the Oracle directory integration and provisioning server is attempting to repeatedly process the same change. This indicates that an error is occurring during synchronization of that change. By default, the Oracle directory integration and provisioning server will continue processing a change until the error is resolved. However, you can configure the Oracle directory integration and provisioning server to skip any changes that cause an error. For more information, see "The SkipErrorToSyncNextChange Parameter".

Synchronizing Deletions in Active Directory

In order to synchronize deletions in Active Directory with Oracle Internet Directory, you must grant the necessary privilege to the Active Directory user account that the Oracle directory integration and provisioning server uses to perform synchronizations with Active Directory. For more information, see "Synchronizing Deletions from Microsoft Active Directory".

Using DirSync Change Tracking for Import Operations

The import synchronization profile created with express configuration uses the USN-Changed approach for tracking changes. To modify the import synchronization profile so it uses the DirSync change tracking approach:


Note:

You may want to backup your current import synchronization profile before performing the following procedures. You can create a backup copy of a profile by using the Directory Integration and Provisioning Assistant's createprofilelike command. For more information, see "The Directory Integration and Provisioning Assistant (dipassistant) Syntax".

  1. You can use the activeimp.cfg.master file, located in your $ORACLE_HOME/ldap/odi/conf directory, to change the import synchronization profile from the USN-Changed approach to DirSync. Use the following command to update the profile:

    $ORACLE_HOME/bin/dipassistant modifyprofile –profile profile_name odip.profile.configfile=$ORACLE_HOME/ldap/odi/conf/activeimp.cfg.master
    
    
  2. Update the last change number by running the following command:

    $ORACLE_HOME/bin/dipassistant modifyprofile –profile profile_name -updcln
    
    

    In order to update the last change number, the value assigned to the odip.profile.condirurl property in the import synchronization profile must be for a non-SSL connection. If you have already configured the import synchronization profile for SSL, then before attempting to update the last change number, you must temporarily change the value assigned to the odip.profile.condirurl property so it points to a non-SSL port.

Customizing Attribute Mapping

Once you have established a working synchronization between Oracle Internet Directory and Microsoft Active Directory, you can customize the attribute mapping rules for your synchronization profiles to meet the needs of your deployment. To customize the attribute mapping rules for your synchronization profiles:

  1. When you use express configuration to create import and export synchronization profiles, mapping files are created for each profile in the $ORACLE_HOME/ldap/conf directory. The mapping files are named profile_nameImport.map and profile_nameExport.map. For example, if you enter "abc" when express configuration prompts you for the name of your profile, your import mapping files will be named abcImport.map and abcExport.map. Modify the mapping rules in your mapping files as needed by following the instructions described in "Customizing Mapping Rules".

  2. Wait until the scheduling interval has elapsed, and then check the synchronized users and groups to ensure that the attribute mapping rules meet your requirements.

  3. Repeat Step 1 through Step 2 until the synchronized users and groups contain the attributes you need.


    Tip:

    You may find it helpful to add test users and groups to Oracle Internet Directory or Microsoft Active Directory when customizing attribute mapping rules.

Final Configuration Requirements

This section describes the final configuration requirements for the import and export synchronization profiles created with express configuration. It contains these topics:

Customizing DN Mapping Rules

Once you have finished customizing the attribute mapping rules for your synchronization between Oracle Internet Directory and Microsoft Active Directory, you should customize the DN mapping rules for your synchronization profiles to meet the needs of your deployment.


WARNING:

If you do not correctly map DN rules, then configuring multiple Microsoft Active Directory domains against a single instance of Oracle Internet Directory can result in name collision. This is because the container cn=users,default_naming_context in each of the multiple domains in Microsoft Active Directory is synchronized to the same container, cn=users,default_realm, in Oracle Internet Directory.


To customize the DN mapping rules for your synchronization profiles:

  1. Modify the DN mapping rules in your mapping files as needed by following the instructions described in "Customizing Mapping Rules".

  2. Wait until the scheduling interval has elapsed, and then check the synchronized users and groups to ensure that the DN mapping rules meet your requirements.

  3. Repeat Step 1 through Step 2 until the DN mapping rules meet the needs of your deployment.


    Tip:

    You may find it helpful to add test users and groups to Oracle Internet Directory or Microsoft Active Directory when customizing DN mapping rules.

Synchronizing Multiple Domains

When synchronizing with multiple Active Directory domains, you need separate import and export synchronization profiles for each domain in most cases. However, the profiles for each domain should be very similar. The only exception involves using Global Catalog with import synchronization profiles. In this case, you only need to create a single import synchronization profile for the entire Active Directory forest. For more information, see "Configuration Required for Importing from Microsoft Active Directory to Oracle Internet Directory".


Note:

Be sure to perform attribute and DN mapping before attempting to synchronize with multiple domains.

The best approach to creating separate import and export synchronization profiles for multiple domains is as follows:

  1. Customize the import and export synchronization profiles for a single domain, using the procedures described earlier in this section.

  2. Once you have finished customizing the import and export synchronization profiles for the first domain, use the Directory Integration and Provisioning Assistant's createprofilelike command to duplicate profiles, as follows.

    $ORACLE_HOME/bin/dipassistant createprofilelike [-h hostName] [-p port] 
    [-D bindDn] [-w password] -profile origProfName -newprofile newProfName
    
    
  3. Use the Directory Integration and Provisioning Assistant's modifyprofile command to customize the profiles for each additional Active Directory domain, as follows:

    $ORACLE_HOME/bin/dipassistant modifyprofile [-h hostName] [-p port] 
    [-D bindDn] [-w password] {-f fileName | -profile profName [-updlcn] } 
    [propName1=value] [propName2=value]...
    
    
  4. If necessary, update the connection details for each domain by following the instructions listed in "Configuring the Connection Details for Microsoft Active Directory".

  5. Update the last change number in the import and export synchronization profiles for each domain by running the following command:

    $ORACLE_HOME/bin/dipassistant modifyprofile –profile profile_name -updcln
    
    

    In order to update the last change number, the value assigned to the odip.profile.condirurl property in the import synchronization profile must be for a non-SSL connection. If you have already configured the import synchronization profile for SSL, then before attempting to update the last change number, you must temporarily change the value assigned to the odip.profile.condirurl property so it points to a non-SSL port.

  6. Repeat Steps 2 through 5 for each Active Directory domain to which you need to synchronize.

Performing Initial Bootstrapping

Once you have finished configuring your import and export synchronization profiles, including customizing attribute mappings, DN mappings, and configuring for multiple Active Directory realms, you can migrate data from an Active Directory domain to Oracle Internet Directory by using the bootstrap option of the Directory Integration and Provisioning Assistant. This is described in "Bootstrapping Data Between Directories".

Granting Privileges to Non-Default Realms

If you need to synchronize Microsoft Active Directory with an Oracle Internet Directory subtree that is not in the default realm, then be sure to grant the necessary privileges to the import and export synchronization profiles. The import synchronization profile must have privileges to create, modify, and delete entries while the export synchronization profile must have read privileges to Oracle Internet Directory, including cn=changelog.

Configuring Synchronization Profiles for SSL

Your last step in customizing the import and export synchronization profiles should be to enable SSL. By default, SSL is not enabled for the import and export synchronization profiles created with express configuration. This section describes how to enable SSL for Active Directory synchronizations.


Note:

Be sure that you can successfully synchronize users in non-SSL mode before attempting to configure your synchronization profiles for SSL.

  1. Follow the instructions in "Configuring the Active Directory Connector for Synchronization in SSL Mode".

  2. Once SSL is enabled for Active Directory and Oracle Internet Directory, you can modify the Active Directory connection information, including the host name and profile, using the Directory Integration and Provisioning Assistant's modifyprofile command, as follows:

    $ORACLE_HOME/bin/dipassistant modifyprofile <-h hostName> <-p port> 
    -profile profilename odip.profile.condirurl= ad_host_name:636:1
    
    
  3. Restart the Oracle directory integration and provisioning server by following the instructions "Starting, Stopping, and Restarting the Oracle Directory Integration and Provisioning Server".

  4. Add a test user and verify that it synchronizes successfully. If the test user does not synchronize successfully, then troubleshoot your SSL configuration.

Configuring the Active Directory External Authentication Plug-in

This section explains how to delete, disable, and reenable the Active Directory external authentication plug-in. It contains these topics:

Installing Active Directory External Authentication Plug-ins

To install the plug-in:

  1. Execute the script oidspadi.sh by entering:

    cd $ORACLE_HOME/ldap/admin
    sh oidspadi.sh
    

    Note:

    To run shell script tools on the Windows operating system, you need one of the following UNIX emulation utilities:

    If you are using the Windows operating system, then execute oidspadi.sh after you have installed the UNIX emulation utility by entering:

    sh oidspadi.sh
    
    
  2. Enter the Microsoft Active Directory host name. This is the Microsoft Active Directory with which you are going to synchronize. This value is required.

  3. Specify whether to use an SSL connection to Microsoft Active Directory. If you choose to use SSL, then you need to enter the following:

    • The Microsoft Active Directory SSL connection port number

    • The location of the Oracle wallet. This wallet needs to have the valid certificate from the Microsoft Active Directory that you are trying to connect to.

    • The Oracle wallet password.

      When specifying the wallet location on the Microsoft Windows operating system, add an additional backslashes (\). For example, if the wallet location is D: storage\wallet, then enter D:\\storage\\wallet.

  4. Enter the connect string for the database designated for Oracle Internet Directory.

  5. Enter the ODS password for Oracle Internet Directory

  6. Enter the directory server host name. This value is required.

  7. Enter directory server port number. The default port is 389.

  8. Enter the password of the Oracle administrator (orcladmin). This value is required.

  9. (Optional) Enter the distinguished name of the container to which the plug-in needs to be applied. Every entry in this container will be authenticated against Active Directory. Note that this need not necessarily be the User Search Base supplied by using the Oracle Internet Directory Self-Service Console. All the users under this search base are authenticated externally to the Active Directory. If more than one container is specified, then separate the DNs with semi-colons (;).

  10. Enter the Plug-in Request Group DN. For security reasons, the plug-in can be invoked only by users belonging to this group. For example, suppose that the Oracle Application Server Single Sign-On administrators are in the group cn=OracleUserSecurityAdmins,cn=Groups,cn=OracleContext. If you enter this DN as the value for the Plug-in Request Group DN, then only requests fromOracle Application Server Single Sign-On administrators can trigger the external authentication plug-in. You can enter multiple DN values. Use a semicolon (;) to separate them. This value is not required, but, for security purposes, it should be specified.

  11. (Optional) Enter the value of the entry that is to be excluded from authentication to Microsoft Active Directory. This value is the exception to Step 9. You need to enter the value in the standard ldapsearch filter format. For example, if you specify the value (&(objectclass=inetorgperson)(cn=orcladmin)), then any entry under the user container specified in Step 9 that has the cn=orcladmin and objectclass=inetorgperson attribute values will not be authenticated to Microsoft Active Directory.

  12. (Optional) Specify the backup Microsoft Active Directory domain controller details.

Enabling the Active Directory External Authentication Plug-ins

By default, the Active Directory external authentication plug-ins are enabled. However, you may need to enable them at some point.

To enable Active Directory external authentication plug-ins:

  1. Create an LDIF file with the following entries:

    dn: cn=adwhencompare,cn=plugin,cn=subconfigsubentry
    changetype: modify
    replace: orclpluginenable
    orclpluginenable: 1
    
    dn: cn=adwhenbind,cn=plugin,cn=subconfigsubentry
    changetype: modify
    replace: orclpluginenable
    orclpluginenable: 1
    
    
  2. Load the LDIF file with the ldapmodify command as follows:

    ldapmodify -h host -p port  -D cn=orcladmin -w password -f fileName
    

See Also:

The section about registering and managing plug-ins in Oracle Internet Directory Administrator's Guide

Testing the Active Directory External Authentication Plug-ins

To test the Active Directory external authentication plug-ins:

  1. Use your browser to visit http://host of OracleAS Single Sign-On:port number of OracleAS Single Sign-On/pls/orasso.

  2. Log in by using a pre-defined user in Microsoft Active Directory: user identifier@domain.

Configuring Windows Native Authentication

This section describes the system requirements and tasks for configuring Windows native authentication. It contains these topics:

System Requirements

Windows native authentication is intended for intranet Web applications. Your intranet deployment must include the following:

  • Windows 2000 server with Microsoft Active Directory

  • Kerberos service account established for OracleAS Single Sign-On server

  • Oracle Application Server 10g Release 2 (10.1.2) infrastructure installed


    Note:

    Although the sample configurations in this section are for UNIX, Oracle Application Server can also be installed on Microsoft Windows.

  • OracleAS Single Sign-On middle tier configured to use a Kerberos realm

  • Synchronization of Active Directory with Oracle Internet Directory

  • Oracle Internet Directory configured to use the Windows external authentication plug-in

Configuration Tasks

To set up Windows native authentication, configure Oracle Internet Directory, the OracleAS Single Sign-On server, and the user's browser by performing the following tasks in the order listed.

Task 1: Verify That Microsoft Active Directory Is Set Up and Working

To ensure that Microsoft Active Directory is properly configured and running, consult the Windows 2000 server documentation.

Task 2: Install Oracle Internet Directory and OracleAS Single Sign-On

Install Oracle Internet Directory and OracleAS Single Sign-On. To determine which deployment configuration suits your installation, see the chapter about advanced configurations in Oracle Application Server Single Sign-On Administrator's Guide. For installation instructions, see the installation documentation for your operating system.

Task 3: Synchronize Oracle Internet Directory with Microsoft Active Directory

User entries in Oracle Internet Directory must be synchronized with user entries in Microsoft Active Directory.

Task 4: Configure Oracle Internet Directory to Use the Active Directory External Authentication Plug-in

See Configuring the Active Directory External Authentication Plug-in.

Task 5: Verify That Synchronization and the Active Directory External Authentication Plug-in Are Working

Log in to the OracleAS Single Sign-On server to verify that you have synchronized user entries between the two directories and that the Active Directory external authentication plug-in is working.

  1. Go to the login page:

    http://host:port/pls/orasso
    
    
  2. Enter your user name in the following format:

    user_name@active_directory_domain
    
    
  3. Enter your password.

Task 6: Configure the OracleAS Single Sign-On Server

To configure the single sign-on server, complete the tasks described in the following topics.

Set Up a Kerberos Service Account for the OracleAS Single Sign-On Server

 Create a service account for the OracleAS Single Sign-On server in Active Directory, then create a keytab file for the server, and map the service principal (the server) to the account name. The keytab file stores the server's secret key. This file enables the server to authenticate to the KDC. The service principal is the entity, in this case, the single sign-on server, to which the KDC grants session tickets.

  1. Synchronize system clocks. The OracleAS Single Sign-On middle tier and the Windows 2000 server must match. If you omit this step, then authentication fails because there is a difference in the system time.Be sure the time, the date, and the time zones are synchronized.

  2. Check the port number of the Kerberos server on the OracleAS Single Sign-On computer. The port where the Kerberos server listens is selected from /etc/services by default. On Windows systems, the services file is found at system_drive:\WINNT\system32\drivers\etc. The service name is Kerberos. Typically the port is set to 88/udp and 88/tcp on the Windows 2000 server. When added correctly to the services file, the entries for these port numbers are:

    kerberos5        88/udp          kdc             # Kerberos key server
    kerberos5        88/tcp          kdc             # Kerberos key server
    
    
  3. In the hosts file, located in the same directory as the services file, check the entry for the single sign-on middle tier. The fully qualified host name of the single sign-on computer must appear after the IP address and before the short name. The following is an example of a correct entry:

    130.111.111.111 sso.MyCompany.com sso loghost
    
    
  4. Log in to the Active Directory Management tool on the Windows 2000 server; then choose Users, then New, then user.

    Enter the name of the OracleAS Single Sign-On host, omitting the domain name. For example, if the host name is sso.MyCompany.com, then enter sso. This is the account name in Microsoft Active Directory.

    Note the password that you assigned to the account. You will need it later. Do not select User must change password at next logon.

  5. Create a keytab file for the OracleAS Single Sign-On server, and map the account name to the service principal name.You perform both tasks by running the following command on the Windows 2000 server:

    C:> Ktpass -princ HTTP/sso.MyCompany.com@MyCompany.COM -pass password -mapuser sso -out sso.keytab
    
    

    The -princ argument is the service principal. Specify the value for this argument by using the format HTTP/single_sign-on_host_name@KERBEROS_REALM_NAME. Note that HTTP and the Kerberos realm must be uppercase.

    Note that single_sign-on_host_name can be either the OracleAS Single Sign-On host itself or the name of a load balancer where multiple OracleAS Single Sign-On middle tiers are deployed. MyCompany.COM is a fictitious Kerberos realm in Microsoft Active Directory. The user container is located within this realm. The -pass argument is the account password that you obtained in Step 4. The -mapuser argument is the account name of the OracleAS Single Sign-On middle tier. You created this account in step 4. The -out argument is the output file that stores the service key.

    Be sure to replace the example values given with values suitable for your installation. These values appear in boldface in the example.


    Note:

    • If the Ktpass is not found on your computer, then download the Windows resource kit to obtain the utility.

    • The default encryption type for Microsoft Kerberos tickets is RC4-HMAC. Microsoft also supports DES-CBC and DES-CBC-MD5, two DES variants used in MIT-compliant implementations. Ktpass converts the key type of the KDC account from RC4_HMAC to DES when you run the tool as explained in Step 5.


  6. Copy or FTP the keytab file, sso.keytab, created in step 5, to the OracleAS Single Sign-On middle tier, placing it in $ORACLE_HOME/j2ee/OC4J_SECURITY/config. If you use FTP, be sure to transfer the file in binary mode.

    Be sure to give the Web server unique identifier (UID) on the OracleAS Single Sign-On middle tier read permission for the file.

Run the OracleAS Single Sign-On Configuration Assistant

 Running the ossoca.jar tool at this point does the following:

  • It configures the single sign-on server to use the Sun JAAS login module.

  • It configures the server as a secured application.

To run the ossoca.jar tool on the OracleAS Single Sign-On middle tier:

  1. Back up the following configuration files:

    • $ORACLE_HOME/sso/conf/policy.properties

    • $ORACLE_HOME/j2ee/OC4J_SECURITY/config/jazn.xml

    • $ORACLE_HOME/opmn/conf/opmn.xml

    • $ORACLE_HOME/j2ee/OC4J_SECURITY/config/jazn-data.xml

    • $ORACLE_HOME/j2ee/OC4J_SECURITY/applications/sso/web/WEB-INF/web.xml

    • $ORACLE_HOME/j2ee/OC4J_SECURITY/applications-deployments/sso/orion-application.xml

  2. Run the ossoca.jar tool:

    • UNIX:

      $ORACLE_HOME/sso/bin/ssoca
      -mode sso
      -oh $ORACLE_HOME
      -ad_realm AD_REALM
      -kdc_host_port kerberos_server_host:port
      -verbose
      
      
    • Windows:

      %ORACLE_HOME%\jdk\bin\java -jar %ORACLE_HOME%\sso\lib\ossoca.jar wna
      -mode sso
      -oh %ORACLE_HOME%
      -ad_realm AD_REALM
      -kdc_host_port kerberos_server_host:port
      -verbose
      
      

    AD_REALM is the Kerberos realm in Microsoft Active Directory. This is the user container. Note from the syntax that this value must be entered in uppercase. The default port number for the KDC is usually 88. To confirm this, see step 2 in the section "Set Up a Kerberos Service Account for the OracleAS Single Sign-On Server".

  3. Step 2 shuts down the OracleAS Single Sign-On server. Restart it:

    $ORACLE_HOME/opmn/bin/opmnctl startall
    

Task 7: Configure the End User Browser

Configure Internet Explorer to use Windows native authentication. How you do this depends on which version you have.

Internet Explorer 5.0 and Later

 To configure Internet Explorer and later, perform the following steps:

  1. From the menu bar, select Tools, then, from the Tools menu, select Internet Options.

  2. In the Internet Options dialog box, select the Security tab.

  3. On the Security tab page, select Local Intranet, then select Sites.

  4. In the Local intranet dialog box, select Include all sites that bypass the proxy server; then click Advanced.

  5. In the advanced version of the Local intranet dialog box, enter the URL of the OracleAS Single Sign-On middle tier. For example:

    http://sso.mydomain.com
    
    
  6. Click OK to exit the Local intranet dialog boxes.

  7. In the Internet Options dialog box, select the Security tab; then choose Local intranet; then choose Custom Level.

  8. In the Security Settings dialog box, scroll down to the User Authentication section and then select Automatic logon only in Intranet zone.

  9. Click OK to exit the Security Settings dialog box.

  10. From the menu bar, select Tools, then, from the Tools menu, select Internet Options.

  11. In the Internet Options dialog box, select the Connections tab.

  12. On the Connections tab page, choose LAN Settings.

  13. Confirm that the correct address and port number for the proxy server are entered, then choose Advanced.

  14. In the Proxy Settings dialog box, in the Exceptions section, enter the domain name for the OracleAS Single Sign-On server (MyCompany.com in the example).

  15. Click OK to exit the Proxy Settings dialog box.

Internet Explorer 6.0 Only

If you are using Internet Explorer 6.0, perform steps 1 through 12 in "Internet Explorer 5.0 and Later"; then perform the following steps:

  1. From the menu bar, select Tools, then, from the Tools menu, select Internet Options.

  2. In the Internet Options dialog box, select the Advanced tab.

  3. On the Advanced tab page, scroll down to the Security section.

  4. Select Enable Integrated Windows Authentication (requires restart).

Task 8: Reconfigure Local Accounts

After configuring Windows native authentication, you must reconfigure accounts for the Oracle Internet Directory administrator (orcladmin) and other local Windows users whose accounts are in Oracle Internet Directory. If you omit this task, then these users will not be able to log in.

Use the Oracle Directory Manager for Oracle Internet Directory to perform these steps:

  1. Add the orclADUser class to the local user entry in Oracle Internet Directory.

  2. Add the login ID of the local user to the orclSAMAccountName attribute in the user's entry. For example, the login ID of the orcladmin account is orcladmin.

  3. Add the local user to the exceptionEntry property of the external authentication plug-in.

Fallback Authentication

Only browsers that are Internet Explorer 5.0 or later support SPNEGO-Kerberos authentication. OracleAS Single Sign-On provides fallback authentication support for unsupported browsers such as Netscape Communicator. Depending upon the type of browser and how it is configured, the user is presented with the OracleAS Single Sign-On login form or the HTTP basic authentication dialog box. In either case, the user must provide a user name and password. The user name consists of the Kerberos realm name and the user ID. The default way to enter the user name is shown in the following example.

domain_name\user_id 

The following example, based on the example provided in "Set Up a Kerberos Service Account for the OracleAS Single Sign-On Server", illustrates how to enter the user name.

MyCompany.COM\jdoe

Note that the user name and password are case sensitive. Additionally, password policies for Microsoft Active Directory do not apply. You can configure a different synchronization profile by using the Oracle directory integration and provisioning server. If you do, the login format just provided does not apply.

Fallback authentication is performed against Microsoft Active Directory, using an external authentication plug-in for Oracle Internet Directory.


Note:

  • HTTP basic authentication does not support logout. To clear credentials from the browser cache, users must close all open browser windows. Alternatively, they can log out of the Windows computer.

  • In cases where basic authentication is invoked, users must set their language preference manually in Internet Explorer. From the menu bar, select Tools; select Internet Options; select Languages; and then enter the desired language.


Login Scenarios

Users may encounter a number of different login behaviors within Internet Explorer depending upon which version they are using. Table 16-5 shows under what circumstances automatic sign-on and fallback authentication are invoked.

Table 16-5 Single Sign-On Login Options in Internet Explorer

Browser Version Desktop Platform Desktop Authentication Type Integrated Authentication in Internet Explorer Browser OracleAS Single Sign-On Login Type
5.0.1 or later Windows 2000/XP Kerberos V5 On Automatic sign-on
5.0.1 or later but earlier than 6.0 Windows 2000/XP Kerberos V5 Off Single sign-on
6.0 or later Windows 2000/XP Kerberos V5

or NTLM

Off HTTP basic authentication
5.0.1 or later but earlier than 6.0 Windows NT/2000/XP NTLM On or off Single sign-on
6.0 or later NT/2000/XP NTLM On Single sign-on
5.0.1 or later Windows 95, ME, Windows NT 4.0 Not applicable Not applicable Single sign-on
Earlier than 5.0.1 N/A Not applicable Not applicable Single sign-on
All other browsers All other platforms Not applicable Not applicable Single sign-on

Configuring Synchronization of Oracle Internet Directory Foreign Security Principal References with Microsoft Active Directory

This section explains how to synchronize Oracle Internet Directory foreign security principal references with Active Directory.

Although Microsoft Active Directory stores information for group members in a trusted domain as foreign security principal references, Oracle Internet Directory stores the DNs of these members as they appear in Oracle Internet Directory. This results in a mismatch between an entry and its value as a member of a group. The relationship between a user and a group cannot be directly established in Oracle Internet Directory.

To establish the relationship between users and groups, the member DNs that refer to the foreign security principals must be replaced by the DNs of the entries during the synchronization of such groups. This is called resolving foreign key references.


Note:

Synchronization of foreign security principal references is supported only on Windows 2003.

Example 16-5 How Foreign Key References Are Resolved

The example in this section illustrates how foreign key references are resolved.Assume that there are three domains: A, B and C.

Domain A has a one-way non-transitive trust to Domain B. It can have foreign security principal references for users and groups from Domain B.
Domain A has a one-way non-transitive trust to Domain C. It can have foreign security principal references for users and groups from Domain C.
Domain B has a one-way non-transitive trust to Domain C. It can have foreign security principal references for users and groups from Domain C.

In this example, the one-way non-transitive trusts are from Domain A to Domain B, from Domain A to Domain C, and from Domain B to Domain C.

Tasks to Resolve Foreign Key References

This section explains the steps for resolving foreign key references.

Task 1: Update Agent Configuration Information

 For each profile that can have foreign security principal references, perform the following steps. The sample configuration files referred further are available in $ORACLE_HOME/ldap/odi/samples directory.

  1. Copy the activeimp.cfg.fsp file. The following is an example of the activeimp.cfg.fsp file:

    [INTERFACEDETAILS]
       Package: gsi
       Reader: ActiveReader
    [TRUSTEDPROFILES]
       prof1 : <Name of the profile1>
       prof2 : <Name of the profile2>
    [FSPMAXSIZE]
       val=10000
    
    

    The preceding example assumes you are using the DirSync change tracking approach. If you are using the USN-Changed approach for tracking changes, assign a value of ActiveChgReader to the Reader parameter.

  2. In the activeimp.cfg.fsp file, under the [TRUSTEDPROFILES] tag, specify the profile names of the other domains that have foreign security principal references in this domain.

    Referring to Example 16-5, agent configuration information for Domain A contains the following:

    [INTERFACEDETAILS]
       Package: gsi
       Reader: ActiveReader
    [TRUSTEDPROFILES]
       prof1: profile_name_for_domain_B
       prof2: profile_name_for_domain_C
    
    

    Agent configuration information for domain B contains the following:

    [INTERFACEDETAILS]
       Package: gsi
       Reader: ActiveReader
    [TRUSTEDPROFILES]
       prof1: profile_name_for_domain_C
    
    

    Agent configuration information for domain C has no changes because domain C has no foreign key references.

  3. Under the [FSPMAXSIZE] tag, specify the foreign security principal cache size. This can be the average number of foreign security principals you can have. A sample value of 1000 is specified in the activeimp.cfg.fsp file.

  4. Load the new agent configuration information file by using the Directory Integration and Provisioning Assistant as follows:

    $ORACLE_HOME/bin/dipassistant modifyprofile 
    -profile profile_name_for_domain_A_or_B 
    -host host_name 
    -port port_name 
    -dn bind_DN 
    -passwd password_of_bind_DN
    odip.profile.configfile=activeimp.cfg.fsp
    
    
  5. Repeat this task for every profile of interest.

Task 2: Modify the Input Data Before Bootstrapping to Resolve the Foreign Security Principal References

 To do this, perform the following steps:

  1. Get the LDIF dump from the Active Directory with appropriate filtering so that the resultant LDIF file contains only the required objects, for example users and groups.


    Note:

    The command to dump entries from Microsoft Active Directory to Oracle Internet Directory is ldifde. This command can be run only from a Microsoft Windows environment.

  2. Resolve the foreign security principal references by entering the following command:

    $ORACLE_HOME/ldap/odi/admin/fsptodn 
    host=oid_host port=oid_port
    dn= OID_privileged_DN (that is, superuser or dipadmin user)pwd=OID_password
    profile=profile_name_for_domain_A_or_B
    infile=input_filenameo_of_the_LDIF_dump_from_Active_Directory
    outfile=output_filename
    [sslauth=0|1]
    
    

    By default, host is set to local_host, port is set to 389, and sslauth is set to 0.


    Note:

    You can verify the successful execution of the command by verifying that the output file contains no references to cn=foreignsecurityprincipals in the member attribute. This command performs no attribute-level mapping other than resolving foreign security principal references.

  3. Use the -bootstrap option of the Directory Integration and Provisioning Assistant to bootstrap the data from Microsoft Active Directory to Oracle Internet Directory.

Task 3: Update the Mapping Rules to Resolve the Foreign Security Principals During Synchronization

 After bootstrapping, modifications to groups must be reflected in Oracle Internet Directory with the correct group membership values. The fsptodn mapping rule enables you to do this when you synchronize. Modify this mapping rule in every profile that needs foreign security principal resolution. Referring to Example 16-5, the mapping rules must be modified for Domains A and B.

If you do not have DN mapping, then change your mapping rule for the member attribute to the following:

member: : :group:uniquemember: :groupofUniqueNames: fsptodn(member)

If you have DN mapping, then change the mapping rules as follows:

  1. Add the DN mapping rules corresponding to each of the trusted domains. This is used to resolve the correct domain mapping. Referring to Example 16-5, the domainrules in the mapping file for Domain A should have content similar to the following:

    DOMAINRULES
    <Src Domain A >:<Dst domain A1 in OID>
    <Src Domain B >:< Dst domain B1 in OID>
    <Src Domain C>:<Dst domain C1 in OID>
    
    
  2. Change your mapping rule for the member attribute to:

    member:::group:uniquemember::groupofUniqueNames:dnconvert(fsptodn(member))
    
    
  3. Upload the mapping file for the different profiles using Directory Integration and Provisioning Assistant.

Managing Integration with Microsoft Active Directory

This section describes what to do immediately after configuration and ongoing administration tasks. It contains these topics:

Tasks After Configuring with Microsoft Active Directory

Once configuration is complete, do the following:

  1. Migrate data from one directory to the other as needed. This is described in "Bootstrapping Data Between Directories".

  2. Enable the integration profile. You can do this by using either the Oracle Directory Integration and Provisioning Server Administration tool or the command-line version of the Directory Integration and Provisioning Assistant.

    To enable the integration profile by using the Oracle Directory Integration and Provisioning Server Administration tool, perform the following:

    1. Launch the Oracle Directory Integration and Provisioning Server Administration by entering the following:

      $ORACLE_HOME/bin/dipassistant -gui
      
      
    2. In the navigator pane, expand directory_integration_and_provisioning_server, then expand Integration Profile Configuration.

    3. In the navigator pane, select the configuration set. A list of the available profiles appears in the right pane.

    4. In the right pane, select the profile, then choose Edit. The General tab page window appears.

    5. In the General tab page, in the Profile Status field, select ENABLE.

    6. Choose OK.

    To enable the synchronization profile by using the command-line version of the Directory Integration and Provisioning Assistant, enter the following command:

    $ORACLE_HOME/bin/dipassistant modifyprofile
    [-h host name] [-p port_number] [-D bind_DN] [-w password] 
    -profile profile_name_in_OID odip.profile.status=ENABLE 
    [-configset configset_number]
    
    
  3. Start the Oracle directory integration and provisioning server using the configuration set that corresponds to that of the profile. Instructions for starting the server are available in "Starting and Stopping an Oracle Directory Server Instance by Using the OID Control Utility".

Typical Management of Integration with Microsoft Active Directory

Management tasks typically include:

  • Managing synchronization profiles and mapping rules:

    • Creating new profiles. You create new profiles if you need to synchronize with an additional domain controller in a multiple domain Active Directory environment.

      You can create new profiles by using existing profiles as templates.To do this, use the createlike command of the Directory Integration and Provisioning Assistant.

    • Changing configurations (attributes) in the profile

    • Disabling profiles to allow maintenance and then reenabling them. Disabling profiles stops synchronization related to that profile.

  • Managing mapping rules:

    • Creating new rules when additional attributes need to be synchronized

    • Changing existing rules when the way attributes are synchronized needs to change

    • Deleting or commenting out rules not required when a particular attribute is not required to be synchronized

  • Managing access control

  • Starting and stopping the Oracle directory server and the Oracle directory integration and provisioning server

This section contains these topics:


See Also:


Bootstrapping Data Between Directories

Bootstrapping is sometimes called data migration. To bootstrap data, do the following once the Active Directory Connector and plug-in configurations are complete:

  1. Identify the data you want to migrate. You can choose to migrate all data in the directory or only a subset of data.

  2. Make sure the synchronization is not enabled yet.

  3. Bootstrap from one directory to another by using the Directory Integration and Provisioning Assistant with the -bootstrap option. Bootstrapping is described in Chapter 8, " Bootstrapping of a Directory in Oracle Directory Integration and Provisioning".

    Once bootstrapping is accomplished, the profile status attributes are appropriately updated in the synchronization profile by the Directory Integration and Provisioning Assistant.

  4. If you used LDIF file-based bootstrapping, then initialize the lastchangekey value with the Directory Integration and Provisioning Assistant as follows:

    $ORACLE_HOME/bin/dipassistant modifyprofile -updlcn
    
    

    This lastchangekey attribute should be set to the value of the last change number in the source directory before you started the bootstrap.

    In order to update the last change number, the value assigned to the odip.profile.condirurl property in the import synchronization profile must be for a non-SSL connection. If you have already configured the import synchronization profile for SSL, then before attempting to update the last change number, you must temporarily change the value assigned to the odip.profile.condirurl property so it points to a non-SSL port.

  5. If two-way synchronization is required, then enable the export profile and make sure the change logging option is enabled for the Oracle directory server. Change logging is controlled by the -l option while starting Oracle Internet Directory. By default, it is set to TRUE, meaning that change logging is enabled. If it is set to FALSE, then use the OID Control Utility to shut down the Oracle directory server, and then to start the server again with the change log enabled.

Managing the Active Directory External Authentication Plug-in

This section explains how to delete, disable, and re-enable the Active Directory external authentication plug-in.

Deleting the Active Directory External Authentication Plug-in

To delete the Active Directory external authentication plug-in, enter the following commands:

ldapdelete -h host -p port -D cn=orcladmin -w password
"cn=adwhencompare,cn=plugin,cn=subconfigsubentry"

ldapdelete -h host -p port -D cn=orcladmin -w password
"cn=adwhenbind,cn=plugin,cn=subconfigsubentry"
Disabling the Active Directory External Authentication Plug-in

To disable the Microsoft Active Directory external authentication plug-in:

  1. Create an LDIF file with the following entries:

    dn: cn=adwhencompare,cn=plugin,cn=subconfigsubentry
    changetype: modify
    replace: orclpluginenable
    orclpluginenable: 0
    
    dn: cn=adwhenbind,cn=plugin,cn=subconfigsubentry
    changetype: modify
    replace: orclpluginenable
    orclpluginenable: 0
    
    
  2. Load the LDIF file with the ldapmodify command, as follows:

ldapmodify -h host -p port -D cn=orcladmin -w password -f fileName
Reenabling the Active Directory External Authentication Plug-in

To re-enable the Active Directory external authentication plug-in, use these two commands:

  1. Create an LDIF file with the following entries:

    dn: cn=adwhencompare,cn=plugin,cn=subconfigsubentry
    changetype: modify
    replace: orclpluginenable
    orclpluginenable: 1
    
    dn: cn=adwhenbind,cn=plugin,cn=subconfigsubentry
    changetype: modify
    replace: orclpluginenable
    orclpluginenable: 1
    
    
  2. Load the LDIF file with the ldapmodify command, as follows:

    ldapmodify -h host -p port -D cn=orcladmin -w password -f fileName
    

Switching to a Different Microsoft Active Directory Domain Controller in the Same Domain

This section explains how to change the Microsoft Active Directory domain controller to which changes are exported. There are two methods, one for the USN-Changed approach and the other for the DirSync approach.

How to Change the Active Directory Domain Controller by Using the USN-Changed Approach

If you are using the USN-Changed approach, then perform the following:

  1. Stop the current running profile. Modify the Microsoft Active Directory host connection information, that is, host, port, user, password, to point to the new host. Usually, the host name is the only item that you need to update.

  2. Obtain the current value of the highestCommittedUSN by searching the new domain controller's root DSE for the current highest uSNChanged value (attribute value of the highestCommittedUSN attribute of the root DSE):

    ldapsearch -h host -p port -b "" -s base -D userDN -w password "objectclass=*" highestCommittedUSN
    
    
  3. Use Oracle Directory Integration and Provisioning to run a full synchronization from Microsoft Active Directory.

    1. Run ldifde, the command to dump entries from Microsoft Active Directory to Oracle Internet Directory, using the intended ldapsearch scope and search filter. Normally, the search filter should be the same as that specified in the running profile. For example, the following search filter is set in the sample properties file in Release 10.1.2: Note that ldifde can be run only from a Microsoft Windows environment.

      searchfilter=(&(|(objectclass=user)(objectclass=organizationalunit))(!(objectclass=group)))
      
      

      Essentially, run ldifde with a search scope and search filter that retrieve all Oracle Internet Directory objects (entries) that were configured to be synchronized with Microsoft Active Directory by the running profile.

    2. Run Oracle Directory Integration and Provisioning to upload the LDIF file generated in Step a using the same profile.

  4. After the full synchronization is completed, update the lastchangenumber attribute with the highestCommittedUSN value obtained in Step 2.

  5. Resume the normal synchronization, that is, incremental synchronization from Microsoft Active Directory using uSNChanged attribute.

How to Change the Active Directory Domain Controller by Using the DirSync Approach

If you are using the DirSync approach, perform the following:

  1. Stop the current profile that is running.

  2. Use the Directory Integration and Provisioning Assistant createlike option to create a new profile exactly the same as the profile already being used. In the newly created profile, modify the Microsoft Active Directory host connection information, that is, host, port, user, password, to point to the new host. Usually, the host name is the only item you need to update.

  3. Resume normal synchronization with the modified profile. Note all the domain controllers must be in the same Active Directory domain.