How-To Document
Update: 10-May-2011
Introduction
Enterprise User Security simplifies user management by enabling database user accounts to be centrally managed in an LDAP directory. From a user's standpoint, managing passwords in multiple databases is confusing and from an administrator's perspective, managing user authorizations in multiple databases is an error prone and costly management task.
Enterprises which have already deployed Oracle Directory Server Enterprise Edition (ODSSE), formerly known as SUN Directory Server Enterprise Edition, can leverage their existing directory infrastruction by introducing Oracle Virtual Directory to solve the database management burden.
Pre-Requisites:
Install Oracle Virtual Directory (OVD) 11.1.1.2.0 OVD is part of the Identity management Software included in Oracle FMW 11g R1 (11.1.1.2.0)
Oracle Directory Server EE 6, or later is already installed
Tasks overview:
General steps to prepare Oracle Virtual Directory for the Enterprise User Security Integration
Note: To watch the viewlets your browser needs to be configure with the Adobe Flash Player.
Feel free to send comments.
1.1 Create a backup copy of the ORACLE_HOME/ovd/eus/ directory. All the configuration files required for the Enterprise User Security integration are in the eus directory. Making a backup copy of the eus directory allows you to edit the template-like files in the original eus directory based on your environment, and still keep copies of the original files.
1.2 At this point you've already installed OVD and a listener creation has been part of the installation. If for any reason no listener exist, create an LDAP listener that is secured with SSL No Authentication Mode by referring to "Creating and Managing Oracle Virtual Directory Listeners."
1.3 Create and add the subschemasubentry and Dynamic Groups plug-ins as global server plug-ins. Refer to "Managing Global Server Plug-ins" for steps on creating server plug-ins.
Step 1.2. and 1.3 require access to Oracle Directory Services Manager (ODSM). You can access ODSM via e.g.
http://ostullic-rh4.us.oracle.com:7005/odsm

Note: Watch the viewlet how to create the two global server plug-ins.
Assumption: NamingContext
dc=us,dc=oracle,dc=com
has already been
created in Oracle Directory Server EE.
Note: Steps 2.1 - 2.3 will be
executed on the system where OVD is
installed.
Navigate to ORACLE_HOME/ovd/eus
Extend the iPlanet LDAP attribute and objectclass using the following command:
ORACLE_HOME/bin/ldapmodify -h odsee_Host_Name -p odsee_Port \
-D cn="directory manager" -c -q -v -a -f ./iPlanetSchema.ldif
In
the OVD Open the realmiPlanet.ldif
file and replace
all instances of the dc=us,dc=oracle,dc=com
string
with the name of your domain.
Run the following command to create a realm in ODSEE using the realmiPlanet.ldif file:
ORACLE_HOME/bin/ldapmodify -h odsee_Host_Name -p odsee_Port \
-D cn="directory manager" -q -v -a -f ./realmiPlanet.ldif
This will create the following OracleContext container:
If you want to use an existing user and group container see the OVD Administrator's Guide for details.
The default location for user and groups:
3.1.1. Login to FMW control the default URL: http://yourserver.domain:7001/em. You can find the URL at the end of the installation log file in the directory oraInventory/logs directory.


cn=OracleContext;
the Adapter
Suffix for another of the
Local Store Adapters must be cn=OracleSchemaVersion;
and the Adapter
Suffix for the other the
Local Store Adapters must be dc=com,
unless your ODSEE domain is something like dc=example,dc=net,
in which case the Adapter
Suffix must be dc=net.Note: For the changes in step 3.3.1 and 3.3.3 navigate to the following directory on the OVD host: ORACLE_HOME/ovd/eus/
3.3.1.
Extend the Oracle Virtual
Directory schema with the loadOVD.ldif
file using the following
command. The loadOVD.ldif
file contains entries for Oracle Context
and schemaversion that Enterprise User Security queries.
ORACLE_HOME/bin/ldapmodify
-h Oracle_Virtual_Directory_Host -OVD_Port
-D bindDN -q -v -a -f loadOVD.ldif
3.3.2. Update realmRoot.ldif to use your namespaces, including the dn, dc, o, orclsubscriberfullname, and memberurl attributes in the file. If you have a DN mapping between Oracle Directory Server EE and Oracle Virtual Directory, use the DN that you see from Oracle Virtual Directory.
3.3.3. Load your domain root information in the realmRoot.ldif file into Oracle Virtual Directory using the following command:
ORACLE_HOME/bin/ldapmodify
-h Oracle_Virtual_Directory_Host -OVD_Port
-D bindDN -q -v -a -f realmRoot.ldif
userPassword
attribute in the Oracle Directory Server EE.cn=OracleContext,<YOUR
DOMAIN>
in the Namespace field, and then click the OK
button.
Edit the modifyRealm.ldif file to use your Oracle Directory Server EE domain name.
dc=subarashii,dc=com
with your domain name (e.g. dc=us,dc=oracle,dc=com)If you use DN mappings between OVD and ODSEE, use the mapped DN in Oracle Virtual Directory.
Update the realm information using the following command:
ORACLE_HOME/bin/ldapmodify
-h Oracle_Virtual_Directory_Host -p port \
-D bindDN -q -v -f modifyRealm.ldif
Follow the steps outlined in the DB 10.1.2 EUS tutorial at step "Tell the Database to use an LDAP directory". These steps will configure NetServices to use a directory server for database service resolution.
Even though these screens refer
to the configuration of a DB 10.1.2, the
screens for netca
are still the same when you apply the
configuration steps for a 11.2 netca.
Next is to "Register the Database with the directory". Follwo step 4.1 the screens shown are the same for a 11.2 database.


global_ident_schema_usersession_user
connecting to the database; but
Olaf's identity is preserved by the external_name,

[oracle@ostullic-rh4 admin]$ sqlplus olaf/welcome1
SQL*Plus: Release 11.2.0.1.0 Production on Sun Mar 4 11:50:53 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected
to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
SQL> select sys_context('userenv','external_name') from dual;
SYS_CONTEXT('USERENV','EXTERNAL_NAME')
--------------------------------------------------------------------------------
cn=olaf,ou=Users,dc=us,dc=oracle,dc=com
SQL> select sys_context('userenv','session_user') from dual;
SYS_CONTEXT('USERENV','SESSION_USER')
--------------------------------------------------------------------------------
DSEE_SCHEMA_USER
SQL> select * from session_roles;
ROLE
------------------------------
CONNECT
-
ORACLE_HOME/YOUR-HOST-NAME-FQN_INSTANCENAME/sysman/log/emoms.trc
-
ORACLE_HOME/YOUR-HOST-NAME-FQN_INSTANCENAME/sysman/log/emoms.log
[oracle@ostullic-oel4 admin]$ cat ldap.ora
# ldap.ora Network Configuration File:
/u01/app/oracle/product/db112/dbhome1/network/admin/ldap.ora
# Generated by Oracle configuration tools.
#OID DIRECTORY_SERVERS= (stakb16.us.oracle.com:3060:3131)
DIRECTORY_SERVERS= (stakb16.us.oracle.com:6501:7501)
DEFAULT_ADMIN_CONTEXT = "dc=us,dc=oracle,dc=com"
DIRECTORY_SERVER_TYPE = OID
Send comments to Olaf.Stullich@oracle.com