Konfigurieren von LDAP mit AEM 6 configuring-ldap-with-aem
LDAP (die L leicht D Verzeichnis A Zugriff P Protokoll) 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 aus dem 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 Benutzer transparent, sie sehen keinen Unterschied zwischen Benutzer- und Gruppenkonten, die aus LDAP erstellt wurden, und denen, 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 verwendet werden kann, müssen Sie drei OSGi-Konfigurationen erstellen:
- einen LDAP-Identitäts-Provider (IDP),
- Einen Synchronisierungshandler.
- 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 Synchronisierungshandlers configuring-the-synchronization-handler
Der Synchronisierungshandler definiert, wie die Benutzer und Gruppen des Identitätsanbieters mit dem Repository synchronisiert werden.
Sie befindet sich unter der Apache Jackrabbit Oak Standard Sync Handler in der Verwaltungskonsole.
Die folgenden Konfigurationsoptionen sind für den Synchronisierungshandler verfügbar:
Das externe Anmeldemodul the-external-login-module
Das externe Anmeldemodul befindet sich unter der Externes Apache Jackrabbit Oak-Anmeldemodul in der Verwaltungskonsole.
Die Aufgabe besteht darin, zu definieren, welcher Identitäts-Provider und welcher Synchronisierungshandler verwendet werden soll, und die beiden Module effektiv zu binden.
Folgende Konfigurationsoptionen sind verfügbar:
LDAP über SSL konfigurieren configure-ldap-over-ssl
AEM 6 kann so konfiguriert werden, dass eine Authentifizierung mit LDAP über SSL erfolgt. Gehen Sie dazu wie folgt vor:
-
Überprüfen Sie die SSL verwenden oder Verwenden von TLS Kontrollkästchen beim Konfigurieren der LDAP Identity Provider.
-
Konfigurieren Sie den Synchronisierungshandler und das externe Anmeldemodul entsprechend Ihrer Einrichtung.
-
Installieren Sie bei Bedarf die SSL-Zertifikate in Ihrer Java-VM. Dies kann mithilfe von keytool erfolgen:
keytool -import -alias localCA -file <certificate location> -keystore <keystore location>
-
Testen Sie die Verbindung zum LDAP-Server.
Erstellen von SSL-Zertifikaten creating-ssl-certificates
Selbstsignierte Zertifikate können verwendet werden, wenn AEM für die Authentifizierung mit LDAP über SSL konfiguriert werden. Nachfolgend finden Sie ein Beispiel für ein Arbeitsverfahren zum Generieren von Zertifikaten zur Verwendung mit AEM.
-
Stellen Sie sicher, dass eine SSL-Bibliothek installiert ist und funktioniert. Bei dieser Vorgehensweise wird beispielhaft OpenSSL verwendet.
-
Erstellen Sie eine benutzerdefinierte OpenSSL-Konfigurationsdatei (.cnf). Kopieren Sie hierzu die standardmäßige Konfigurationsdatei openssl.cnf und passen Sie diese an. Auf UNIX-Systemen befindet sie sich im Normallfall unter
/usr/lib/ssl/openssl.cnf
. -
Erstellen Sie dann den Zertifizierungsstellen-Stammschlüssel, indem Sie den nachfolgenden Befehl an 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
-
Überprüfen Sie das neu generierte Zertifikat, um seine Ordnungsmäßigkeit sicherzustellen:
openssl x509 -noout -text -in root-ca.crt
-
Vergewissern Sie sich, dass alle in der Zertifikatkonfigurationsdatei (.cnf) angegebenen Ordner vorhanden sind. Wenn nicht, erstellen Sie sie.
-
Erstellen Sie einen zufälligen Test, 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 abschließend das Zertifikat zum Java-Keystore hinzu.
Debugging-Protokollierung aktivieren 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:
- Wechseln Sie zur Web-Management-Konsole.
- Suchen Sie nach "Apache Sling Logging Logger Configuration"und erstellen Sie zwei Logger mit den folgenden Optionen:
-
Protokollebene: Debuggen
-
Protokolldatei logs/ldap.log
-
Meldungsmuster: {0,date,dd.MM.yyyy HHss.SSS} *{4}* {2}
-
Logger: org.apache.jackrabbit.oak.security.authentication.ldap
-
Protokollebene: Debuggen
-
Protokolldatei: logs/external.log
-
Meldungsmuster: {0,date,dd.MM.yyyy HHss.SSS} *{4}* {2}
-
Logger: org.apache.jackrabbit.oak.spi.security.authentication.external
Ein Wort zur Gruppenzuordnung a-word-on-group-affiliation
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 aber auch Gruppen sein, die separat hinzugefügt werden und nicht zum ursprünglichen LDAP-Gruppenzuordnungsschema gehören.
In den meisten Fällen kann es sich um Gruppen handeln, die von einem lokalen AEM-Administrator oder einem anderen Identitäts-Provider hinzugefügt werden.
Wenn ein Benutzer aus einer Gruppe auf dem LDAP-Server entfernt wird, wird die Änderung bei der Synchronisierung auch auf der AEM angezeigt. Alle anderen Gruppenzuordnungen 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 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 Synchronisierungshandler synchronisiert werden.
Weitere Informationen finden Sie in der 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.