Allgemein
Durch das Setup der LDAP-Authentifizierung ist es möglich, AD-User im Active Directory zu integrieren. Dies hat den Vorteil, dass sich der Enterprise Manager resp. der DBA nicht um die Passwörter kümmern muss.
Die klassischen Repository-Accounts können natürlich weiterhin verwendet und auch neue hinzugefügt werden.
Weiterführende Informationen sind unter folgendem Link zu finden:
https://docs.oracle.com/cd/E73210_01/EMSEC/GUID-5DD3B11A-1159-40BD-8AEB-41EDE664AB12.htm#EMSEC13008
Konfiguration
Basiskonfiguration erstellen
Info: Dieser Command muss auf jeder OMS-Node ausgeführt werden.
$> oms13cr2 $> emctl config auth ad -ldap_host "gabrielkeusen.ch" -ldap_port "389" -ldap_principal "CN=LDAPUser,CN=Users,DC=gabrielkeusen,DC=ch" -ldap_credential "**KeePassWINTEC**" -user_base_dn "OU=Bern,DC=gabrielkeusen,DC=ch" -group_base_dn "OU=Bern,DC=gabrielkeusen,DC=ch" -sysman_pwd "**KeePass**" Oracle Enterprise Manager Cloud Control 13c Release 2 Copyright (c) 1996, 2016 Oracle Corporation. All rights reserved. Configuring LDAP Authentication ... Started Successfully validated connection to LDAP server Configuring LDAP Authentication ... Successful If this is a multi-OMS environment, restart all OMS(s) using: 'emctl stop oms -all' and 'emctl start oms' If use_ssl has been specified and the LDAP server certificate is self-signed, as part of the validation process, we have imported it into the keystore configured for Weblogic Server. $> emctl stop oms -all; emctl start oms
Konfiguration anpassen
Die Standartkonfiguration sieht vor, dass der CommonName für das Login verwendet wird. Da wir aber den sAMAccountName verwenden wollen, muss die Konfiguration noch angepasst werden.
Info:
Vor jeder Anpassung bitte das Config.xml auf jeder OMS-Node sichern. So kann im Fehlerfall das OMS schneller wieder zur Verfügung gestellt werden… 🙂
Pfad: ${ORACLE_BASE}/product/gc_inst/user_projects/domains/GCDomain/config/config.xml
Anpassungen nur in Sektion wls:active-directory-authenticatorType vornehmen!
Die Konfiguration kann einfach via WLS-Console durchgeführt werden (Security-Realms/myrealm/Provider/EM_AD_Provider/Providerspezifisch)
Hier wurde folgende Attribute angepasst:
Property | Value |
All Users Filter | (&(sAMAccountName=*) (objectclass=user)) |
User From Name Filter | (&(sAMAccountName=%u) (objectclass=user) |
User Name Attribute | sAMAccountName |
User Object Class | user |
OMS neu starten
$> oms13cr2 $> emctl stop oms -all -force; emctl start oms
Jetzt wird definiert, welche Werte automatisch vom AD übernommen werden sollen.
$> emctl set property -name "oracle.sysman.core.security.auth.enable_username_mapping" -value "true" -sysman_pwd "**KeePass**" $> emctl set property -name "oracle.sysman.core.security.auth.ldapuserattributes_emuserattributes_mappings" -value "USERNAME={%loginid%},EMAIL={%mail%},EXTERNALUSERID={%loginid%}" -sysman_pwd "**KeePass**"
Anpassung wlst.sh
Die folgende Anpassung ist ab EM13c notwendig, damit die Suche beim Hinzufügen von Externen Logins funktioniert.
Info bei Multi-OMS: Diese Anpassung muss nur auf dem Server durchgeführt werden, wo auch der Admin-Server ausgeführt wird.
Die Variable ${ORACLE_HOME} muss aufgelöst verwendet werden.
$> echo ${ORACLE_HOME}
Die folgenden Zeilen können an einem beliebigen Ort im File (zwingend vor der Zuweisung der JVM_ARGS sein) eingefügt werden:
$> vi ${ORACLE_HOME}/oracle_common/common/bin/wlst.sh #KEG ANPASSUNG LDAP-AUTH mit sAMAccountName WLST_PROPERTIES="-Dweblogic.ssl.JSSEEnabled=true -Djavax.net.ssl.keyStore=${ORACLE_HOME}/wlserver/server/lib/DemoIdentity.jks -Djavax.net.ssl.keyStorePassword=DemoIdentityKeyStorePassPhrase -Djavax.net.ssl.t rustStore=${ORACLE_HOME}/wlserver/server/lib/DemoTrust.jks -Djavax.net.ssl.trustStorePassword=DemoTrustKeyStorePassPhrase -Dweblogic.security.SSL.trustedCAKeyStore=${ORACLE_HOME}/wlserver/server/lib/DemoTrus t.jks -Dweblogic.security.SSL.ignoreHostnameVerification=true ${WLST_PROPERTIES}" export WLST_PROPERTIES
WLS-Connection aufbauen und Adapter anpassen
$> ${ORACLE_HOME}/oracle_common/common/bin/wlst.sh wls:/offline> connect('weblogic','**KeePass**','t3s://meinServer1.gabrielkeusen.ch:7101') wls:/GCDomain/domainRuntime> addPlugin(adapterName='EM_AD_Provider',pluginName='changerdn',pluginClass='oracle.ods.virtualization.engine.chain.plugins.changeuserrdn.ChangeUserRDN',paramKeys='replaceValue|fromRDN|toRDN',paramValues='true|cn|sAMAccountName')
OMS (alle Nodes) neu starten
$> oms13cr2 $> emctl stop oms -all -force; emctl start oms
Konfiguration entfernen
Sollten Probleme auftreten und das OMS nicht mehr gestartet werden können, kann die Konfiguration in folgendem File wieder entfernt werden:
$> /u00/app/oracle/product/gc_inst/user_projects/domains/GCDomain/config/config.xml EM_AD_Provider SUFFICIENT gabrielkeusen.ch 389 sAMAccountName CN=kegadmin,OU=Admins-Domain,OU=Bern,DC=gabrielkeusen,DC=ch OU=Bern,DC=gabrielkeusen,DC=ch ***Key*** (&(cn=%u)(objectclass=person)) OU=Bern,DC=gabrielkeusen,DC=ch 120000 false
OMS (alle Nodes) neu starten
$> oms13cr2 $> emctl stop oms -all -force; emctl start oms