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:

  1. einen LDAP-Identitäts-Provider (IDP),
  2. einen Synchronisierungs-Handler.
  3. ein externes Anmeldemodul.
NOTE
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.5 für Apache Directory Service.

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:

LDAP-Provider-Name
Name dieser LDAP-Provider-Konfiguration
LDAP-Server-Hostname
Hostname des LDAP-Servers
LDAP-Server-Anschluss
Die Anschlussnummer 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.
Zertifikatüberprüfung deaktivieren
Gibt an, ob die Validierung des Serverzertifikats deaktiviert werden soll.
Bindungs-DN
DN des Benutzers für die Authentifizierung. Ohne Eintrag in diesem Feld erfolgt eine anonyme Bindung.
Bindungspasswort
Passwort des Benutzers für die Authentifizierung
Zeitüberschreitung der Suche
Zeit bis zum Timeout einer Suche
Maximaler Admin-Pool aktiv
Die maximale aktive Größe des Admin-Verbindungspools.
Maximale Anzahl aktiver Benutzerpools
Die maximale aktive Größe des Benutzerverbindungspools.
Benutzerbasis-DN
Der DN für Benutzersuchen
Benutzerobjektklassen
Die Liste der Objektklassen, die ein Benutzereintrag enthalten muss.
Benutzer-ID-Attribut
Name des Attributs, das die Benutzer-ID enthält.
Zusätzlicher Filter für Benutzerinnen und Benutzer
Zusätzlicher LDAP-Filter zur Verwendung bei der Suche nach Benutzerinnen und 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.
Zusätzlicher Filter für Gruppen
Zusätzlicher 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.
Gruppenmitgliedsattribut
Gruppenattribut, das ein oder mehrere Mitglieder einer Gruppe enthält.

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:

Sync Handler Name
Name der Synchronisierungskonfiguration.
User Expiration Time
Dauer, bis synchronisierte Benutzerinnen und Benutzer abgelaufen sind.
User auto membership
Liste der Gruppen, denen synchronisierte Benutzerinnen und Benutzer automatisch hinzugefügt werden.
Zuordnung der Benutzereigenschaften
Listenzuordnungsdefinition für lokale Eigenschaften von externen Eigenschaften.
Benutzerpfadpräfix
Das beim Erstellen neuer Benutzerinnen und Benutzer verwendete Pfadpräfix.
User Membership Expiration
Zeitraum, nach dem die Mitgliedschaft abläuft.
User membership nesting depth
Gibt die maximale Tiefe der Gruppenverschachtelung zurück, wenn Mitgliedschaftsbeziehungen synchronisiert werden. Der Wert 0 deaktiviert die Suche nach Gruppenmitgliedschaften. Bei einem Wert von 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
Dauer, bis eine synchronisierte Gruppe abläuft.
Group auto membership
Liste der Gruppen, denen eine synchronisierte Gruppe automatisch hinzugefügt wird.
Zuordnung von Gruppeneigenschaften
Listenzuordnungsdefinition für lokale Eigenschaften von externen Eigenschaften.
Gruppenpfadpräfix
Das bei der Erstellung von Gruppen verwendete Pfadpräfix.

Das externe Anmeldemodul the-external-login-module

Sie finden das externe Anmeldemodul in der Verwaltungskonsole unter dem Namen Apache Jackrabbit Oak External Login Module.

NOTE
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 Synchronisierungs-Handlers, wodurch die beiden Module miteinander verbunden werden.

Folgende Konfigurationsoptionen sind verfügbar:

JAAS Ranking
Angabe des Rankings (d. h. der Sortierreihenfolge) dieses Anmeldemoduleintrags. 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 ERFORDERLICH, eine VORAUSSETZUNG, AUSREICHEND oder OPTIONAL ist. Weitere Informationen zur Bedeutung dieser Flags finden Sie in der Dokumentation zur JAAS-Konfiguration .
JAAS Realm
Der Bereichsname (oder Anwendungsname), mit dem das Anmeldemodule 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 Synchronisierungs-Handlers.
NOTE
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 Synchronisierungs-Handler erstellen.

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:

  1. Aktivieren Sie die Kontrollkästchen Use SSL oder Use TLS, wenn Sie den LDAP-Identitäts-Provider konfigurieren.

  2. Konfigurieren Sie den Synchronisierungs-Handler und das externe Anmeldemodul gemäß Ihrem Setup.

  3. 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>

  4. 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.

  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 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.

  3. 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]
    
  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. Um sicherzustellen, dass alles in Ordnung ist, überprüfen Sie das neu generierte Zertifikat:

    openssl x509 -noout -text -in root-ca.crt

  6. Vergewissern Sie sich, dass alle in der Zertifikatkonfigurationsdatei (.cnf) angegebenen Ordner vorhanden sind. Ist dies nicht der Fall, erstellen Sie diese.

  7. Erstellen Sie einen Zufalls-Startwert, 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 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:

  1. Wechseln Sie zur Web-Management-Konsole.
  2. Suchen Sie nach „Apache Sling Logging Logger Configuration“ und erstellen Sie zwei Logger mit den folgenden Optionen:
  • Protokollstufe: Debug

  • Protokolldatei logs/ldap.log

  • Nachrichtenmuster: {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

  • Nachrichtenmuster: {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.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2