Show Menu
THEMEN×

Konfigurieren von LDAP mit AEM 6

LDAP ( L ightweight D irectory A ccess P rotocol) dient dem Zugriff auf zentrale Verzeichnisdienste. Hierdurch wird der Verwaltungsaufwand für Benutzerkonten reduziert, da auf sie über mehrere Anwendungen zugegriffen werden kann. 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, ist keine Validierung mehr möglich, sodass der Zugriff auf das Repository abgelehnt wird. Details zu den im Repository gespeicherten LDAP-Konten können auch gelöscht werden.
Die Verwendung solcher Konten ist für Ihre Benutzer transparent. Sie erkennen keinen Unterschied zwischen Benutzer- und Gruppenkonten auf LDAP-Basis und denen, die ausschließlich im Repository erstellt wurden.
In AEM 6 umfasst die LDAP-Unterstützung eine neue Implementierung, für die im Vergleich zu früheren Versionen ein anderer Konfigurationstyp erforderlich ist.
Alle LDAP-Konfigurationen sind jetzt als OSGi-Konfigurationen verfügbar. Sie können über die Web-Management-Konsole konfiguriert werden unter: https://serveraddress:4502/system/console/configMgr
Damit LDAP mit AEM verwendet werden kann, müssen Sie drei OSGi-Konfigurationen erstellen:
  1. einen LDAP-Identitäts-Provider (IDP),
  2. einen Synchroniserungshandler und
  3. ein externes Anmeldemodul.
Sehen Sie sich das Tutorial Oak's External Login Module – Authenticating with LDAP and Beyond an, um sich ausführlich über externe Anmeldemodule zu informieren.
Weitere Informationen zum Konfigurieren von Experience Manager mit Apache DS finden Sie unter Konfigurieren von Adobe Experience Manager 6.4 für Apache Directory Service .

Konfigurieren des LDAP-Identitäts-Providers

Ü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:
Name des LDAP-Anbieters Name dieser LDAP-Anbieterkonfiguration.
Hostname des LDAP-Servers Hostname des LDAP-Servers
LDAP-Serveranschluss Anschluss des LDAP-Servers
SSL verwenden Gibt an, ob eine SSL-Verbindung (LDAPs) verwendet werden soll.
TLS verwenden Gibt an, ob TLS bei Verbindungen gestartet werden soll.
Zertifikatprüfung deaktivieren Gibt an, ob die Überprüfung des Serverzertifikats deaktiviert werden soll.
Bindungs-DN DN des Benutzers zur Authentifizierung. Ohne Angabe erfolgt eine anonyme Bindung.
Bindungskennwort Kennwort des Benutzers für die Authentifizierung
Zeitüberschreitung suchen Zeit bis zum Timeout der Suche
Admin-Pool max aktiv Die maximale aktive Größe des Admin-Verbindungspools.
Benutzerpool max. aktiv Die maximale aktive Größe des Benutzerverbindungspools.
Benutzerdefinierter DN Der DN für die Benutzersuche
Benutzerobjektklassen Die Liste der Objektklassen, die ein Benutzereintrag enthalten muss.
Benutzer-ID-Attribut Name des Attributs, das die Benutzer-ID enthält.
Benutzerspezifischer Filter Extra LDAP-Filter zur Verwendung bei der Suche nach Benutzern. Der endgültige Filter ist wie folgt formatiert: '(&(<idAttr>=<userId>)(objectclass=<objectclass>)<extraFilter>)' (user.extraFilter)
Benutzer-DN-Pfade Steuert, ob der DN zur Berechnung eines Teils des Zwischenpfads verwendet werden soll.
Gruppenbasis-DN Der Basis-DN für Gruppensuchen.
Gruppenobjektklassen Die Liste der Objektklassen, die ein Gruppeneintrag enthalten muss.
Gruppennamenattribut Name des Attributs, das den Gruppennamen enthält.
Extra Filter gruppieren Extra LDAP-Filter zur Verwendung bei der Suche nach Gruppen. Der endgültige Filter ist wie folgt formatiert: '(&(<nameAttr>=<groupName>)(objectclass=<objectclass>)<extraFilter>)'
Gruppen-DN-Pfade Steuert, ob der DN zur Berechnung eines Teils des Zwischenpfads verwendet werden soll.
Gruppenmitglied-Attribut Gruppenattribut, das die Mitglieder einer Gruppe enthält.

Konfigurieren des Synchronisierungshandlers

Der Synchronisierungshandler definiert, wie die Benutzer und Gruppen des Identitäts-Providers mit dem Repository synchronisiert werden.
Sie finden ihn in der Verwaltungskonsole unter dem Namen Apache Jackrabbit Oak Default Sync Handler .
Die folgenden Konfigurationsoptionen sind für den Synchronisierungshandler verfügbar:
Name des Synchronisierungs-Handlers Name der Synchronisierungskonfiguration.
Ablaufzeit des Benutzers Dauer, bis ein synchronisierter Benutzer abgelaufen ist.
Autom. Mitgliedschaft Liste der Gruppen, denen automatisch ein synchronisierter Benutzer hinzugefügt wird.
User property mapping Listenzuordnungsdefinition für lokale Eigenschaften von externen.
Benutzerpfadpräfix Das beim Erstellen neuer Benutzer verwendete Pfadpräfix.
Ablauf der Benutzermitgliedschaft Zeitraum, nach dem die Mitgliedschaft abläuft.
User membership nesting depth Gibt die maximale Verschachtelungstiefe für Gruppen zurück, wenn Mitgliedschaftsbeziehungen synchronisiert werden. Mit dem Wert „0“ wird die Suche nach Gruppenmitgliedschaften deaktiviert. Mit dem Wert „1“ werden nur die direkten Gruppen eines Benutzers hinzugefügt. Dieser Wert hat keinerlei Wirkung, wenn beim Synchronisieren der mitgliedsbezogenen Herkunft eines Benutzers nur einzelne Gruppen synchronisiert werden.
Gruppenablaufzeit Dauer, bis eine synchronisierte Gruppe abläuft.
Automatische Gruppenmitgliedschaft Liste der Gruppen, denen automatisch eine synchronisierte Gruppe hinzugefügt wird.
Gruppeneigenschaftszuordnung Listenzuordnungsdefinition für lokale Eigenschaften von externen.
Gruppenpfadpräfix Das beim Erstellen neuer Gruppen verwendete Pfadpräfix.

Externes Anmeldemodul

Sie finden das externe Anmeldemodul in der Verwaltungskonsole unter dem Namen Apache Jackrabbit Oak External Login Module .
Das Apache Jackrabbit Oak External Login Module implementiert die JAAS-Spezifikationen (Java Authentication and Authorization Service). Weitere Informationen finden Sie im offiziellen Oracle Java-Sicherheitshandbuch .
Seine Aufgabe besteht in der Definition des zu verwendenden Identitäts-Providers und Synchronisierungshandlers, wodurch die beiden Module miteinander verbunden werden.
Die folgenden Konfigurationsoptionen sind verfügbar:
JAAS Ranking
Angabe der Rangfolge (d.h. Sortierreihenfolge) dieses Anmeldemoduleintrags. Die Einträge sind in absteigender Reihenfolge sortiert (d. h., höher bewertete Konfigurationen werden zuerst aufgeführt).
JAAS-Steuerelement-Flag
Eigenschaft, die angibt, ob ein LoginModule ERFORDERLICH, REQUISITE, SUFFICIENT oder OPTIONAL ist. Weitere Informationen zur Bedeutung dieser Flags finden Sie in der JAAS-Konfigurationsdokumentation.
JAAS-Reich
Der Bereichsname (oder Anwendungsname), unter dem das LoginModule registriert wird. Ohne Angabe eines Bereichsnamens wird das Anmeldemodul mit einem Standardbereich registriert, wie in der Felix JAAS-Konfiguration konfiguriert.
Identitätsanbietername
Name des Identitätsanbieters.
Name des Synchronisierungs-Handlers
Name des Synchronisierungs-Handlers.
Wenn für Ihre AEM-Instanz mehr als eine LDAP-Konfiguration vorgesehen ist, müssen Sie für jede Konfiguration separate Identitäts-Provider und Synchronisierungshandler erstellen.

Konfigurieren von LDAP über SSL

AEM 6 kann so konfiguriert werden, dass eine LDAP-Authentifizierung über SSL erfolgt. Gehen Sie hierzu wie folgt vor:
  1. Aktivieren Sie die Kontrollkästchen Use SSL oder Use TLS , wenn Sie den LDAP-Identitäts-Provider konfigurieren.
  2. Konfigurieren Sie den Synchronisierungshandler und das externe Anmeldemodul gemäß Setup.
  3. Installieren Sie ggf. die SSL-Zertifikate auf Ihrer virtuellen Java-Maschine. Hierzu kann das Keytool verwendet werden:
    keytool -import -alias localCA -file <certificate location> -keystore <keystore location>
  4. Testen Sie die Verbindung zum LDAP-Server.

Erstellen von SSL-Zertifikaten

Ü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 AEM.
  1. Vergewissern Sie sich, dass eine funktionstüchtige SSL-Bibliothek installiert ist. Bei dieser Vorgehensweise wird beispielhaft OpenSSL verwendet.
  2. Erstellen Sie eine benutzerdefinierte OpenSSL-Konfigurationsdatei (.cnf). Dies kann durch Kopieren der standardmäßigen openssl.cnf ​Konfigurationsdatei und Anpassen geschehen. On UNIX systems, it is usually located at /usr/lib/ssl/openssl.cnf
  3. Erstellen Sie dann den Zertifizierungsstellen-Stammschlüssel, indem Sie den nachfolgenden Befehl an einem Terminal ausführen:
    openssl genpkey -algorithm [public key algorithm] -out certificatefile.key -pkeyopt [public key algorithm option] 
    
    
  4. 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
  5. Überprüfen Sie das neu generierte Zertifikat, um seine Ordnungsmäßigkeit sicherzustellen:
    openssl x509 -noout -text -in root-ca.crt
  6. Vergewissern Sie sich, dass alle in der Konfigurationsdatei des Zertifikats (.cnf) angegebenen Ordner vorhanden sind. Ist dies nicht der Fall, erstellen Sie diese.
  7. Erstellen Sie einen zufälligen Ausgangswert, indem Sie beispielsweise Folgendes ausführen:
    openssl rand -out private/.rand 8192
  8. Verschieben Sie die erstellten .pem-Dateien an die in der .cnf-Datei konfigurierten Speicherorte.
  9. Fügen Sie schließlich dem Java-Keystore das Zertifikat hinzu.

Aktivieren der Debug-Protokollierung

Die Debug-Protokollierung kann sowohl für den LDAP-Identitäts-Provider als auch das externe Anmeldemodul aktiviert werden, um Verbindungsprobleme zu beheben.
Zum Aktivieren der Debug-Protokollierung gehen Sie wie folgt vor:
  1. Gehen Sie zur Webverwaltungskonsole.
  2. Suchen Sie nach „Apache Sling Logging Logger Configuration“ und erstellen Sie zwei Logger mit den folgenden Optionen:
  • Protokollebene: Debug
  • Protokolldatei: logs/ldap.log
  • Meldungsmuster: {0,date,dd.MM.yyyy HH:mm:ss.SSS} &ast;{4}&ast; {2} {3} {5}
  • Logger: org.apache.jackrabbit.oak.security.authentication.ldap
  • Protokollebene: Debug
  • Protokolldatei: logs/external.log
  • Meldungsmuster: {0,date,dd.MM.yyyy HH:mm:ss.SSS} &ast;{4}&ast; {2} {3} {5}
  • Logger: org.apache.jackrabbit.oak.spi.security.authentication.external

Hinweis zur Gruppenzuordnung

Durch LDAP synchronisierte Benutzer können verschiedenen Gruppen in AEM angehören. Bei diesen Gruppen kann es sich um externe LDAP-Gruppen handeln, die AEM im Zuge des Synchronisierungsvorgangs hinzugefügt werden. Die Gruppen können aber auch separat hinzugefügt werden und nicht zum ursprünglichen LDAP-Gruppenzuordnungsplan gehören.
In den meisten Fälle können dies Gruppen sein, 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, spiegelt sich diese Änderung bei einer Synchronisierung auf AEM-Seite wider. Alle anderen Gruppenzuordnungen des Benutzers, die nicht durch LDAP hinzugefügt wurden, bleiben allerdings bestehen.
Ü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 zum Thema Benutzer- und Gruppensynchronisierung .

Bekannte Probleme

Wenn Sie LDAP über SSL verwenden möchten, stellen Sie sicher, dass die von Ihnen verwendeten Zertifikate ohne Netscape-Kommentaroption erstellt werden. Ist diese Option aktiviert, schlägt die Authentifizierung mit einem SSL-Handshake-Fehler fehl.