This chapter describes how to configure and use Microsoft Active Directory as the LDAP directory.
This chapter contains these topics:
This section describes how Microsoft Active Directory is used as an LDAP directory server by Oracle Database.
This section contains these topics:
Active Directory is the LDAP-compliant directory server included with Windows Server 2003. Active Directory stores all Windows Server 2003 information, including users, groups, and policies. Active Directory also stores information about network resources (such as databases) and makes this information available to application users and network administrators. Active Directory enables users to access network resources with a single login. The scope of Active Directory can range from storing all the resources of a small computer network to storing all the resources of several wide areas networks (WANs).
When using Oracle features that support Active Directory, ensure that the Active Directory computer can be successfully reached using all possible TCP/IP host name forms to reach the domain controller. For example, if the host name of the domain controller is server1
in the domain acme.com
, then ensure that you can ping that computer using all of the following:
server1.acme.com
acme.com
server1
Active Directory often issues referrals back to itself in one or more of these forms, depending upon the operation being performed. If any of the forms cannot reach the Active Directory computer, then some LDAP operations may fail.
The following Oracle Database features support or have been specifically designed to integrate with Active Directory:
Oracle Database provides Oracle Net Services directory naming, which uses a directory server. This feature has been enabled to work with Microsoft Active Directory. Directory Naming enables clients to connect to the database making use of information stored centrally in an LDAP-compliant directory server such as Active Directory. For example, any net service name previously stored in the tnsnames.ora
file can now be stored in Active Directory.
Oracle Net Configuration Assistant provides automatic discovery of directory servers. When you select Active Directory as the directory server type, Oracle Net Configuration Assistant automatically discovers the directory server location and performs related tasks.
See Also:
"Configuring Oracle Database to Use Active Directory" for more information about Active Directory configurationOracle Database services, net service names, and enterprise role entries in Active Directory can be displayed and tested in two Windows tools:
Windows Explorer
Active Directory Users and Computers
Windows Explorer displays the hierarchical structure of files, directories, and local and network drives on your computer. It can display and test Oracle Database service and net service name objects.
Active Directory Users and Computers is an administrative tool installed on Windows servers configured as domain controllers. This tool enables you to add, modify, delete, and organize Windows Server 2003 accounts and groups, and publish resources in the directory of your organization. Like Windows Explorer, it can display and test Oracle Database service and net service name objects. Additionally, it can manage access control.
The property menus of Oracle Database service and net service name objects in Windows Explorer and Active Directory Users and Computers have been enhanced. When you right-click these Oracle directory objects, you now see two new options for testing connectivity:
Test
Connect with SQL*Plus
The Test option tests whether the username, password, and net service name you initially entered can actually connect to Oracle Database. The Connect with SQL*Plus option starts SQL*Plus, which enables you to perform database administration, run scripts, and so on.
Oracle directory object type descriptions in Active Directory have been enhanced to make them easier to understand. In the right pane of Figure 12-1, for example, the Type column reveals that sales
is an Oracle Net Service name.
Oracle database and configuration tools can use the login credentials of the Windows user currently logged on to connect to Active Directory without having to re-enter the login credentials. This feature has two benefits:
Oracle clients and databases can securely connect to Active Directory and retrieve the net service name.
Oracle configuration tools can connect automatically to Active Directory and configure Oracle Database and net service name objects. The enabled tools include Oracle Net Configuration Assistant and Database Configuration Assistant.
If Oracle Database and Oracle Net Services are installed and configured to access Active Directory, then Active Directory Users and Computers displays Oracle directory objects, as illustrated in Figure 12-1:
Figure 12-1 Oracle Directory Objects in Active Directory Users and Computers
Table 12-1 describes the Oracle directory objects appearing in Figure 12-1.
Table 12-1 Oracle Directory Objects
Object | Description |
---|---|
|
The domain in which you created your Oracle Context. This domain (also known as the administrative context) contains various Oracle entries to support directory naming. Oracle Net Configuration Assistant automatically discovers this information during Oracle Database integration with Active Directory. |
|
The top-level Oracle entry in the Active Directory tree. It contains Oracle Database service and net service name object information. All Oracle software information is placed in this folder. |
|
The Oracle Database service name used in this example. |
|
Folder for Oracle product information. |
|
The net service name object used in this example. |
|
Folder for the Oracle security groups. See "Access Control List Management for Oracle Directory Objects" for more information. Enterprise users and roles created with Oracle Enterprise Security Manager also appear in this folder. |
To use Net Directory Naming with Active Directory, you must have certain Microsoft and Oracle software releases, and you must create Oracle schema objects and an Oracle Context. These requirements are discussed in the following sections:
Note:
The Oracle schema objects and Oracle Context can both be created by running Oracle Net Configuration Assistant.
Regardless of the Oracle Database Client and Oracle Database releases you are using, you must be running in a Windows Server 2003 domain to integrate Net Directory Naming with Active Directory.
For client computers from which you want to manage Oracle Database enterprise users, roles and domains, you must have an Oracle Client on a supported Microsoft Windows operating system.
For the database, you must have an Oracle Database server on a Windows Server operating system.
Both the client computers and the database must be members of a Windows domain.
You must create Oracle schema objects to use net directory naming features with Active Directory. Schema objects are sets of rules for Oracle Net Services and Oracle Database entries and their attributes stored in Active Directory. The following restrictions apply to creating Oracle schema objects to use with Active Directory:
Only one Oracle schema object can be created for each forest.
The Windows 2000 domain controller must be the operations master that allows schema updates. See your operating system documentation for instructions.
To create an Oracle schema object:
Log in as a member of the Schema Administrator group. Domain administrators are in the Schema Administrator group by default.
Use Oracle Net Configuration Assistant to create the Oracle schema object. You can create your schema object during or after database installation.
If the Active Directory display is not configured to accept all 24 default languages, then Oracle schema object creation can fail while Oracle Net Configuration Assistant is configuring Active Directory as the directory server. Before running Oracle Net Configuration Assistant to complete directory access configuration, verify that the display specifiers for all 24 languages are populated by entering the following at the command prompt:
ldifde -p OneLevel -d cn=DisplaySpecifiers,cn=Configuration,domain context -f temp file
where:
domain
context
is the domain context for this Active Directory server.
For example, dc=acme
,dc=com
.
temp
file
is a file where you want to put the output.
If the command reports that fewer than 24 entries were found, then you can still use Oracle Net Configuration Assistant. However, the report will indicate that Oracle schema object creation failed, rather than simply reporting that display specifiers for some languages were not created.
Display Specifiers Not Created
When Net Configuration Assistant creates the Oracle schema object in Active Directory, the display specifiers for Oracle entries are not created. This means you cannot view Oracle database entries in Active Directory interfaces.
You can manually add these entries into Active Directory after the Oracle schema object has been created by doing the following, using the same Windows user identification you used when creating the Oracle schema object with Net Configuration Assistant:
Open a command shell.
Change directory to ORACLE_HOME
\ldap\schema\ad
.
Copy adDisplaySpecifiers_us.sbs
to adDisplaySpecifiers_us.ldif
.
Copy adDisplaySpecifiers_other.sbs
to adDisplaySpecifiers_other.ldif
.
Edit each of these .ldif
files, replacing all occurrences of %s_AdDomainDN%
with the domain DN for the specific Active Directory into which you want to load the display specifiers (for example, dc=acme,dc=com
).
Run the following commands:
ldapmodify -h <ad hostname> -Z -f adDisplaySpecifiers_us.ldif ldapmodify -h <ad hostname> -Z -f adDisplaySpecifiers_other.ldif
where <ad hostname>
is the host name of the Active Directory domain controller to which you want to load the display specifiers.
You must create an Oracle Context to use net directory naming features with Active Directory. Oracle Context is the top-level Oracle entry in the Active Directory tree. It contains Oracle Database service and Oracle Net service name object information.
You can create only one Oracle Context for each Windows 2000 domain (administrative context).
You must have the right to create domain and enterprise objects in order to create the Oracle Context in Active Directory with Oracle Net Configuration Assistant.
Use Oracle Net Configuration Assistant to create your Oracle Context. You can create the Oracle Context during or after Oracle Database Custom installation.
See Also:
Oracle Database Installation Guide for Microsoft Windows Itanium (64-Bit) for installation procedures
Oracle Database Net Services Administrator's Guide for configuration procedures
Oracle Net Configuration Assistant enables you to configure client computers and Oracle Database to access a directory server. When you choose directory access configuration from Oracle Net Configuration Assistant, it then prompts you to specify a directory server type to use. When you select Active Directory as the directory server type, the Automatic Discovery of Directory Servers feature of Oracle Net Configuration Assistant automatically:
Discovers the Active Directory server location
Configures access to the Active Directory server
Creates the Oracle context (also known as your domain)
If the Active Directory server has an Oracle Context, then select the following nondefault option:
Select the directory server you want to use, and configure the directory server for Oracle usage. (Create or upgrade Oracle schema objects and Oracle Context as necessary.)
Oracle Net Configuration Assistant will report that the Oracle Context does not exist. Ignore this and choose to create the Oracle Context anyway. Directory access configuration will complete without trying to re-create the existing Oracle Context.
Note:
Regardless of the Oracle Database Client and Oracle Database releases you are using, you must be running in a Windows 2000 domain to take advantage of the automatic directory server discovery features of Oracle Net Configuration Assistant. If you are not running in a Windows 2000 domain, then Oracle Net Configuration Assistant does not automatically discover your directory server, and instead prompts you for additional information, such as the Active Directory location.See Also:
"Oracle Schema Objects Creation" for information about possible failures during configuration
"Requirements for Using Oracle Database with Active Directory"
Oracle Database Net Services Administrator's Guide for configuration procedures
This section describes how to connect to an Oracle Database server through Active Directory.
This section contains these topics:
When using Oracle Net directory naming, client computers connect to a database by specifying the database or net service name entry that appears in the Oracle Context. For example, if the database entry under the Oracle Context in Active Directory is orcl
, and the client and the database are in the same domain, then a user connects to the database through SQL*Plus by entering the following connect string:
SQL> CONNECT username/password@orcl
If the client and the database are in different domains, then a user connects to the database through SQL*Plus by entering:
SQL> CONNECT username/password@orcl.domain
where domain
is the domain in which the Oracle Database server is located.
These connect strings follow DNS-style conventions. While Active Directory also supports connections using X.500 naming conventions, Oracle recommends DNS-style conventions because they are easier to use.
DNS-style conventions enable client users to access an Oracle Database server through a directory server by entering minimal connection information, even when the client computer and Oracle Database server are in separate domains. Names following the X.500 convention are longer, especially when the client and Oracle Database server are located in different domains (also known as administrative contexts).
See Also:
"Configuration Management Concepts" in Oracle Database Net Services Administrator's Guide for more information about X.500 naming conventions
"Unlocking and Changing Passwords" in Oracle Database Installation Guide for Microsoft Windows Itanium (64-Bit)
Oracle directory objects in Active Directory are integrated with two Microsoft tools:
Windows Explorer
Active Directory Users and Computers
You can test connectivity to an Oracle Database server from within these Microsoft tools by actually connecting to it, or you can just test the connection with actually connecting. To test connectivity:
Start Windows Explorer or Active Directory Users and Computers.
To start Windows Explorer:
Choose Start > Programs > Accessories > Windows Explorer.
Expand My Network Places.
Expand Entire Network.
Expand Directory.
To start Active Directory Users and Computers:
Choose Start > Programs > Administrative Tools > Active Directory Users and Computers.
Note:
All clients accessing an Oracle Database server through Active Directory require read access on all net service name objects in the Oracle Context and must be able to authenticate anonymously with Active Directory. Oracle Net Configuration Assistant automatically sets this up.Expand the domain in which your Oracle Context is located.
Expand your Oracle Context.
Right-click a database service or Oracle Net Service name object.
A menu appears with several options. This section covers only the Test and Connect with SQL*Plus options.
If you want to test the database connection without actually connecting to it, then choose Test. A status message appears describing the status of your connection attempt.
If you want to test the database connection by actually connecting to it, then choose Connect with SQL*Plus. The Oracle SQL*Plus Logon dialog appears.
Enter your username and password, then click OK. A status message appears describing the status of your connection attempt.
This section identifies security groups specific to Oracle directory objects within Active Directory and explains how to add and delete security group members.
This section contains these topics:
Security groups are automatically created when the Oracle Context is created in Active Directory. The user configuring access (and thus creating the Oracle Context) is automatically added to each group. The relevant groups are:
The OracleDBCreators
group is for the person registering the Oracle Database server. The domain administrator is automatically a member of this group. Users in this group can:
Create new Oracle Database objects in the Oracle Context.
Modify the Oracle Database objects that they create.
Read, but not modify, the membership for this group.
You can add or remove users in the security groups with Active Directory Users and Computers.
Note:
Use Active Directory Users and Computers to perform the procedures described in this section. Windows Explorer does not provide the necessary functionality.To add or remove users:
Choose Start > Programs > Administrative Tools > Active Directory Users and Computers.
Choose Advanced Features from the View main menu.
This enables you to view and edit information that is normally hidden.
Expand the domain (administrative context) in which your Oracle Context is located.
Expand Users.
The security groups appear in the right window pane.
Right-click the Oracle security group that you want to view or modify.
A menu appears with several options.
Choose Properties.
Choose the Members tab.
The Properties dialog for the group you selected appears (in this example, OracleDBCreators
).
To add users, click Add.
The Select Users, Contacts, Computers, or Groups dialog appears.
Select the users or groups you want to add and click Add.
Your selections appear in the Select Users, Contacts, Computers, or Groups dialog.
To remove a user, select the user name from the Members list and click Remove.
When you are finished adding and removing users, click OK.