Konfigurieren von LDAP mit AEM 6 configuring-ldap-with-aem
LDAP (das L ightweight D irectory A ccess P rotocol) wird für den Zugriff auf zentrale Verzeichnisdienste verwendet. Auf diese Weise wird der Aufwand für die Verwaltung von Benutzerkonten reduziert, da sie von mehreren Anwendungen aufgerufen werden können. Ein solcher LDAP-Server ist Active Directory. LDAP wird häufig für Single-Sign-On-Szenarien eingesetzt, durch die ein Benutzer mit einer Anmeldung auf mehrere Anwendungen zugreifen kann.
Benutzerkonten können zwischen dem LDAP-Server und dem Repository synchronisiert werden, wobei die LDAP-Kontodetails im Repository gespeichert werden. Hierdurch ist es möglich, Konten Repository-Gruppen zuzuordnen, um die erforderlichen Berechtigungen und Rechte zuzuweisen.
Das Repository nutzt die LDAP-Authentifizierung zum Authentifizieren solcher Benutzer. Dabei werden die Anmeldeinformationen zur Validierung an den LDAP-Server weitergegeben. Dies ist erforderlich, um Zugriff auf das Repository zu gewähren. Zur Leistungsverbesserung können erfolgreich validierte Anmeldeinformationen vom Repository zwischengespeichert werden. Über ein Ablauftimeout wird dann sichergestellt, dass nach einem angemessenen Zeitraum eine erneute Validierung erfolgt.
Wenn ein Konto vom LDAP-Server entfernt wird, wird die Validierung nicht mehr gewährt und der Zugriff auf das Repository wird verweigert. Details zu im Repository gespeicherten LDAP-Konten können ebenfalls bereinigt werden.
Die Verwendung solcher Konten ist für Ihre Benutzerinnen und Benutzer transparent. Das heißt, sie sehen keinen Unterschied zwischen Benutzer- und Gruppenkonten, die aus LDAP erstellt wurden, und Konten, die ausschließlich im Repository erstellt wurden.
In AEM 6 umfasst die LDAP-Unterstützung eine neue Implementierung, für die ein anderer Konfigurationstyp erforderlich ist als für frühere Versionen.
Alle LDAP-Konfigurationen sind jetzt als OSGi-Konfigurationen verfügbar. Sie können über die folgende Webverwaltungskonsole konfiguriert werden:https://serveraddress:4502/system/console/configMgr
Damit LDAP mit AEM funktioniert, müssen Sie drei OSGi-Konfigurationen erstellen:
- einen LDAP-Identitäts-Provider (IDP),
- einen Synchronisierungs-Handler.
- ein externes Anmeldemodul.
Konfigurieren des LDAP-Identitäts-Providers configuring-the-ldap-identity-provider
Über den LDAP-Identitäts-Provider wird definiert, wie Benutzer vom LDAP-Server abgerufen werden.
Sie finden ihn in der Verwaltungskonsole unter dem Namen Apache Jackrabbit Oak LDAP Identity Provider.
Die folgenden Konfigurationsoptionen sind für den LDAP-Identitäts-Provider verfügbar:
Konfigurieren des Synchronisierungs-Handlers configuring-the-synchronization-handler
Der Synchronisierungs-Handler definiert, wie die Benutzerinnen bzw. Benutzer und Gruppen des Identitäts-Providers mit dem Repository synchronisiert werden.
Er ist unter dem Namen Apache Jackrabbit Oak Standard Sync Handler in der Verwaltungskonsole zu finden.
Die folgenden Konfigurationsoptionen sind für den Synchronisierungshandler verfügbar:
Das externe Anmeldemodul the-external-login-module
Sie finden das externe Anmeldemodul in der Verwaltungskonsole unter dem Namen Apache Jackrabbit Oak External Login Module.
Seine Aufgabe besteht in der Definition des zu verwendenden Identitäts-Providers und Synchronisierungs-Handlers, wodurch die beiden Module miteinander verbunden werden.
Folgende Konfigurationsoptionen sind verfügbar:
Konfigurieren von LDAP über SSL configure-ldap-over-ssl
AEM 6 kann so konfiguriert werden, dass eine LDAP-Authentifizierung über SSL erfolgt. Gehen Sie hierzu wie folgt vor:
-
Aktivieren Sie die Kontrollkästchen Use SSL oder Use TLS, wenn Sie den LDAP-Identitäts-Provider konfigurieren.
-
Konfigurieren Sie den Synchronisierungs-Handler und das externe Anmeldemodul gemäß Ihrem Setup.
-
Installieren Sie ggf. die SSL-Zertifikate auf Ihrer virtuellen Java™-Maschine. Für diese Installation kann das Keytool verwendet werden:
keytool -import -alias localCA -file <certificate location> -keystore <keystore location>
-
Testen Sie die Verbindung zum LDAP-Server.
Erstellen von SSL-Zertifikaten creating-ssl-certificates
Über selbstsignierte Zertifikate kann AEM so konfiguriert werden, dass eine LDAP-Authentifizierung über SSL erfolgt. Im Folgenden finden Sie ein Beispielverfahren zum Generieren von Zertifikaten für die Verwendung mit AEM.
-
Vergewissern Sie sich, dass eine funktionstüchtige SSL-Bibliothek installiert ist. Bei dieser Vorgehensweise wird beispielhaft OpenSSL verwendet.
-
Erstellen Sie eine benutzerdefinierte OpenSSL-Konfigurationsdatei (.cnf). Kopieren Sie für diese Konfiguration die Konfigurationsdatei **openssl.cnf ** und passen Sie diese an. Auf UNIX-Systemen befindet sie sich unter
/usr/lib/ssl/openssl.cnf
. -
Erstellen Sie dann den Zertifizierungsstellen-Stammschlüssel, indem Sie den nachfolgenden Befehl in einem Terminal ausführen:
code language-none openssl genpkey -algorithm [public key algorithm] -out certificatefile.key -pkeyopt [public key algorithm option]
-
Erstellen Sie als Nächstes ein selbstsigniertes Zertifikat:
openssl req -new -x509 -days [number of days for certification] -key certificatefile.key -out root-ca.crt -config CA/openssl.cnf
-
Um sicherzustellen, dass alles in Ordnung ist, überprüfen Sie das neu generierte Zertifikat:
openssl x509 -noout -text -in root-ca.crt
-
Vergewissern Sie sich, dass alle in der Zertifikatkonfigurationsdatei (.cnf) angegebenen Ordner vorhanden sind. Ist dies nicht der Fall, erstellen Sie diese.
-
Erstellen Sie einen Zufalls-Startwert, indem Sie beispielsweise Folgendes ausführen:
openssl rand -out private/.rand 8192
-
Verschieben Sie die erstellten .pem-Dateien an die in der .cnf-Datei konfigurierten Speicherorte.
-
Fügen Sie schließlich das Zertifikat zum Java™-Keystore hinzu.
Aktivieren der Debug-Protokollierung enabling-debug-logging
Die Debug-Protokollierung kann sowohl für den LDAP-Identitätsanbieter als auch für das externe Anmeldemodul aktiviert werden, um Verbindungsprobleme zu beheben.
Um die Debug-Protokollierung zu aktivieren, müssen Sie Folgendes tun:
- Wechseln Sie zur Web-Management-Konsole.
- Suchen Sie nach „Apache Sling Logging Logger Configuration“ und erstellen Sie zwei Logger mit den folgenden Optionen:
-
Protokollstufe: Debug
-
Protokolldatei logs/ldap.log
-
Meldungsmuster: {0,date,
dd.MM.yyyy
HH:mm:ss.SSS
} *{4}* {2} -
Logger: org.apache.jackrabbit.oak.security.authentication.ldap
-
Protokollstufe: Debug
-
Protokolldatei: logs/external.log
-
Meldungsmuster: {0,date,
dd.MM.yyyy
HH:mm:ss.SSS
} *{4}* {2} -
Logger: org.apache.jackrabbit.oak.spi.security.authentication.external
Hinweis zur Gruppenzuordnung a-word-on-group-affiliation
Benutzerinnen und Benutzer, die über LDAP synchronisiert werden, können zu verschiedenen Gruppen in AEM gehören. Diese Gruppen können externe LDAP-Gruppen sein, die AEM im Rahmen des Synchronisierungsprozesses hinzugefügt werden. Sie können jedoch auch Gruppen sein, die separat hinzugefügt werden und nicht zum ursprünglichen LDAP-Gruppenzuordnungsschema gehören.
Normalerweise werden diese Gruppen von einem lokalen AEM-Administrator oder einem anderen Identitätsanbieter hinzugefügt.
Wenn eine Benutzerin oder ein Benutzer aus einer Gruppe auf dem LDAP-Server entfernt wird, wird die Änderung bei der Synchronisierung auf der AEM-Seite angezeigt. Alle anderen Gruppenzuordnungen der Benutzerin oder des Benutzers, die nicht von LDAP hinzugefügt wurden, bleiben jedoch erhalten.
Über die Eigenschaft rep:externalId
erkennt und verarbeitet AEM die Löschung von Benutzerinnen und Benutzern aus externen Gruppen. Diese Eigenschaft (mit Informationen zum ursprünglichen Identitäts-Provider) wird automatisch allen Benutzern oder Gruppen hinzugefügt, die durch den Synchronisierungs-Handler synchronisiert werden.
Siehe die Apache Oak-Dokumentation unter Benutzer- und Gruppensynchronisierung.
Bekannte Probleme known-issues
Wenn Sie LDAP über SSL verwenden möchten, stellen Sie sicher, dass die von Ihnen verwendeten Zertifikate ohne die Netscape-Kommentaroption erstellt wurden. Ist diese Option aktiviert, schlägt die Authentifizierung mit einem SSL-Handshake-Fehler fehl.