Sie sehen sich Hilfeinhalte der folgenden Version an:

LDAP (Lightweight Directory Access Protocol) 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 folgende Webverwaltungskonsole konfiguriert werden:
http://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.

Hinweis:

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.

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:

LDAP Provider Name Name dieser LDAP-Provider-Konfiguration.
LDAP Server Hostname
Hostname des LDAP-Servers.
LDAP Server Port Port des LDAP-Servers.
Use SSL Gibt an, ob eine SSL(LDAP)-Verbindung verwendet werden soll.
Use TLS Gibt an, ob TLS bei Verbindungen gestartet werden soll.
Disable certificate checking Gibt an, ob die Validierung des Serverzertifikats deaktiviert werden soll.
Bind DN Benutzer-DN zur Authentifizierung. Ohne Angabe erfolgt eine anonyme Bindung.
Bind Password Benutzerkennwort zur Authentifizierung.
Search timeout Zeit bis zum Timeout der Suche.
Admin pool max active Die maximale aktive Größe des Admin-Verbindungspools.
User pool max active Die maximale aktive Größe des Benutzer-Verbindungspools.
User base DN DN für Benutzersuchvorgänge.
User object classes Die Liste der Objektklassen, die ein Benutzereintrag enthalten muss.
User id attribute Name des Attributs mit der Benutzer-ID.
User extra filter Zusätzlicher LDAP-Filter zum Suchen nach Benutzern. Der endgültige Filter ist wie folgt formatiert: '(&(<idAttr>=<userId>)(objectclass=<objectclass>)<extraFilter>)' (user.extraFilter)
User DN paths Steuert, ob der DN zum Berechnen eines Teils des Zwischenpfads verwendet werden soll.
Group base DN Basis-DN für Gruppensuchvorgänge.
Group object classes Die Liste der Objektklassen, die ein Gruppeneintrag enthalten muss.
Group name attribute Name des Attributs mit dem Gruppennamen.
Group extra filter Zusätzlicher LDAP-Filter zum Suchen nach Gruppen. Der endgültige Filter ist wie folgt formatiert: '(&(<nameAttr>=<groupName>)(objectclass=<objectclass>)<extraFilter>)'
Group DN paths Steuert, ob der DN zum Berechnen eines Teils des Zwischenpfads verwendet werden soll.
Group member attribute Gruppenattribut mit dem/den Mitglied(ern) einer Gruppe.

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:

Sync Handler Name Name der Synchronisierungskonfiguration.
User Expiration Time Zeitdauer bis zum Ablauf eines synchronisierten Benutzers.
User auto membership Liste der Gruppen, der ein synchronisierter Benutzer automatisch hinzugefügt wird.
User property mapping Listenzuordnung, in der lokale und externe Eigenschaften definiert werden.
User Path Prefix Das beim Erstellen neuer Benutzer verwendete Pfadpräfix.
User Membership Expiration Zeit, nach der die Mitgliedschaft abläuft.
User membership nesting depth Gibt die maximale Tiefe einer Gruppenverschachtelung wieder, 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.
Group Expiration Time Zeitdauer bis zum Ablauf einer synchronisierten Gruppe.
Group auto membership Liste der Gruppen, der eine synchronisierte Gruppe automatisch hinzugefügt wird.
Group property mapping Listenzuordnung, in der lokale und externe Eigenschaften definiert werden.
Group path prefix 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.

Hinweis:

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 Legt die Rangfolge (also Sortierreihenfolge) dieses Anmeldemoduleintrags fest. Die Einträge sind in absteigender Reihenfolge sortiert (d. h., höher bewertete Konfigurationen werden zuerst aufgeführt).
JAAS Control Flag Eigenschaft, die angibt, ob ein Anmeldemodul REQUIRED, REQUISITE, SUFFICIENT oder OPTIONAL ist. Weitere Informationen zur Bedeutung dieser Kennzeichnungen finden Sie in der JAAS-Konfigurationsdokumentation.
JAAS Realm Der Bereichsname (oder Anwendungsname), mit dem das Anmeldemodul registriert wird. Ohne Angabe eines Bereichsnamens wird das Anmeldemodul mit einem Standardbereich registriert, wie in der Felix JAAS-Konfiguration konfiguriert.
Identity Provider Name Name des Identitäts-Providers.
Sync Handler Name Name des Synchronisierungshandlers.

Hinweis:

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). Kopieren Sie hierzu etwa die Konfigurationsdatei openssl.cnf und passen Sie diese an. Auf UNIX-Systemen befindet sie sich im Normallfall unter /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 [Algorithmus für öffentlichen Schlüssel] -out certificatefile.key -pkeyopt [Algorithmusoption für öffentlichen Schlüssel]

     

  4. Erstellen Sie als Nächstes ein selbstsigniertes Zertifikat:

    openssl req -new -x509 -days [Anzahl Tage für Zertifizierung] -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,datum,tt.MM.jjjj HH:mm:ss.SSS} *{4}* [{2}] {3} {5}
  • Logger: org.apache.jackrabbit.oak.security.authentication.ldap
  • Protokollebene: Debug
  • Protokolldatei: logs/external.log
  • Meldungsmuster: {0,datum,tt.MM.jjjj HH:mm:ss.SSS} *{4}* [{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.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie