Starting 18c, you can integrate the oracle database with Microsoft active directory services which will be a great feature and long awaiting one, Until now many of us using open ldap or third party ldap services to configure the same which is a overhead to the sys admins to manage two different directory services for user management and authentication for oracle databases.
This will be same like as configuring LDAP services with proper domain and user name and using ldap.ora file only, but if you have already a ldap in use, you can create a file called dsi.ora appending DSI_ prefix to the parameters. That means you can have ldap and ad both working as authentication mechanisms for database.
The high level steps involved in this are:-
Sysadmin:
- Create a Active directory user account and configure read privileges on the domain we need.
- Extend the Active directory schema for Oracle specific attribute
DBA:
On the database host. and edit ldap.ora or dsi.ora file
DSI_DIRECTORY_SERVERS = (ad-server.test.com:389:636)
DSI_DEFAULT_ADMIN_CONTEXT = "o=test,c=US"
DSI_DIRECTORY_SERVER_TYPE = adThe parameter in ldap.ora/dsi.ora "DIRECTORY_SERVER_TYPE = ad" need to set to ad (active directory)
Create certificates for secure connections
For Oracle Database, use the
orapki
utility to get the Oracle Database server certificate.orapki wallet add -wallet ./ -pwd pwd -dn "CN=`hostname`, OU=Department, O=Company, L=City, ST=Street, C=Country" -keysize 1024 -self_signed -validity 365
For Active directory , use active directory certificate generate process to obtain certificate.
Configure the database with AD authentication
./dbca -silent -configureDatabase -sourceDB ad -registerWithDirService true -dirServiceUserName cn=example,cn=users,dc=adintg,dc=examplecorp,dc=com -dirServiceUser oracle -dirServicePassword password -ldapDirectoryAccessType PASSWORD -walletPassword password
ALTER SYSTEM SET LDAP_DIRECTORY_ACCESS = 'PASSWORD';
ALTER SYSTEM SET LDAP_DIRECTORY_SYSAUTH = 'yes';
-Thanks
Suresh
Hi Suresh,
For Oracle Database, use the orapki utility to get the Oracle Database server certificate.
orapki wallet add -wallet ./ -pwd pwd -dn “CN=`hostname`, OU=Department, O=Company, L=City, ST=Street, C=Country” -keysize 1024 -self_signed -validity 365
For Active directory , use active directory certificate generate process to obtain certificate.
Question:
Instead of self certificate, for AD I need to add AD Root certificate ?
Thanks
Siddesh
You forgot to mention that this integration requires the password filter dll to be installed on the AD domain controllers plus a schema extension of AD. While the schema extension might get accepted by AD admins, large enterprises will never install a 3rd party dll like this Oracle password filter on their AD servers. I had this discussion with large customers and none of them accepted this.
ORA-28030: ORA-28030: Server encountered problems accessing LDAP directory service
ORA-01017: invalid username/password; logon denied
i have done my configuration but when i test it, i get the following error:
ORA-01017: invalid username/password; logon denied. I started tailing the alert file before trying to login and saw this in the alert file as well:
ORA-28030: ORA-28030: Server encountered problems accessing LDAP directory service
My environment is setup with oracle linux 7.5 and Windows server 2012r2.
Is there anything i am not doing? If yes, then how do i get this to work?