Konfigurera LDAP med AEM 6 configuring-ldap-with-aem

CAUTION
AEM 6.4 har nått slutet på den utökade supporten och denna dokumentation är inte längre uppdaterad. Mer information finns i teknisk supportperiod. Hitta de versioner som stöds här.

LDAP L ightweight D katalog A ​åtkomst P Protokoll) används för åtkomst till centraliserade katalogtjänster. Detta minskar den arbetsinsats som krävs för att hantera användarkonton eftersom de kan nås av flera program. En sådan LDAP-server är Active Directory. LDAP används ofta för att uppnå enkel inloggning, vilket gör att en användare kan få åtkomst till flera program efter inloggning en gång.

Användarkonton kan synkroniseras mellan LDAP-servern och databasen med LDAP-kontoinformation som sparas i databasen. Detta gör att konton kan tilldelas till databasgrupper för att tilldela de behörigheter och behörigheter som krävs.

Databasen använder LDAP-autentisering för att autentisera sådana användare, där inloggningsuppgifterna skickas till LDAP-servern för validering, vilket krävs innan åtkomst till databasen tillåts. För att förbättra prestandan kan validerade inloggningsuppgifter cachas av databasen med en tidsgräns för förfallodatum så att omvalidering sker efter en lämplig period.

När ett konto tas bort från LDAP-serververifieringen inte längre beviljas åtkomst till databasen. Information om LDAP-konton som sparas i databasen kan också rensas.

Användningen av sådana konton är transparent för användarna, de ser ingen skillnad mellan användar- och gruppkonton som skapats från LDAP och konton som skapats enbart i databasen.

I AEM 6 har LDAP-stödet en ny implementering som kräver en annan typ av konfiguration än i tidigare versioner.

Alla LDAP-konfigurationer är nu tillgängliga som OSGi-konfigurationer. De kan konfigureras via webbhanteringskonsolen på:
https://serveraddress:4502/system/console/configMgr

För att LDAP ska fungera med AEM måste du skapa tre OSGi-konfigurationer:

  1. En LDAP-identitetsleverantör (IDP).
  2. En synkroniseringshanterare.
  3. En extern inloggningsmodul.
NOTE
Titta [Oak's External Login Module - Authenticating with LDAP and Beyond]https://experienceleague.adobe.com/docs/experience-manager-gems-events/gems/gems2015/aem-oak-external-login-module-authenticating-with-ldap-and-beyond.html?lang=sv-SE) till djupdykning i externa inloggningsmoduler.
Ett exempel på hur du konfigurerar Experience Manager med Apache DS finns i Konfigurerar Adobe Experience Manager 6.4 för att använda Apache Directory Service.

Konfigurera LDAP-identitetsleverantören configuring-the-ldap-identity-provider

LDAP-identitetsprovidern används för att definiera hur användare hämtas från LDAP-servern.

Den finns i hanteringskonsolen under Apache Jackrabbit Oak LDAP Identity Provider namn.

Följande konfigurationsalternativ är tillgängliga för LDAP-identitetsleverantören:

LDAP-providernamn
Namnet på den här LDAP-providerkonfigurationen.
Värdnamn för LDAP-server
Värdnamn för LDAP-servern
LDAP-serverport
Port för LDAP-servern
Använd SSL
Anger om en SSL-anslutning (LDAP) ska användas.
Använd TLS
Anger om TLS ska startas på anslutningar.
Inaktivera certifikatkontroll
Anger om servercertifikatvalidering ska inaktiveras.
Bind DN
Unikt namn för användaren för autentisering. Om detta lämnas tomt utförs en anonym bindning.
Bind lösenord
Användarens lösenord för autentisering
Timeout för sökning
Tid tills sökningen tar slut
Admin pool max aktiv
Maximal aktiv storlek för administratörsanslutningspoolen.
Användarpoolen är max aktiv
Den maximala aktiva storleken för användaranslutningspoolen.
Användar-bas-DN
Unikt namn för användarsökningar
Användarobjektklasser
Listan över objektklasser som en användarpost måste innehålla.
Användar-id-attribut
Namnet på det attribut som innehåller användar-ID:t.
Extra filter för användare
Extra LDAP-filter som används vid sökning efter användare. Det sista filtret formateras så här: '(&(<idattr>=<userid>)(objectclass=<objectclass>)<extrafilter>)' (user.extraFilter)
Användarens DN-sökvägar
Anger om det unika namnet ska användas för att beräkna en del av den mellanliggande sökvägen.
Gruppbasens unika namn
Basens unika namn för gruppsökningar.
Gruppobjektklasser
Listan med objektklasser som en grupppost måste innehålla.
Gruppnamnsattribut
Namnet på det attribut som innehåller gruppnamnet.
Gruppera extra filter
Extra LDAP-filter som används vid sökning efter grupper. Det sista filtret formateras så här: '(&(<nameattr>=<groupname>)(objectclass=<objectclass>)<extrafilter>)'
Gruppera DN-sökvägar
Anger om det unika namnet ska användas för att beräkna en del av den mellanliggande sökvägen.
Gruppmedlemsattribut
Gruppattribut som innehåller medlemmarna i en grupp.

Konfigurera synkroniseringshanteraren configuring-the-synchronization-handler

Synkroniseringshanteraren definierar hur Indentity Provider-användare och -grupper ska synkroniseras med databasen.

Den finns under Standardsynkhanterare för Apache Jackrabbit i hanteringskonsolen.

Följande konfigurationsalternativ är tillgängliga för Synkroniseringshanteraren:

Namn på synkroniseringshanterare
Namn på synkroniseringskonfigurationen.
Förfallotid för användare
Varaktighet tills en synkroniserad användare går ut.
Automatiskt medlemskap för användare
Lista över grupper som en synkroniserad användare läggs till i automatiskt.
Mappning av användaregenskaper
Lista mappningsdefinition för lokala egenskaper från externa egenskaper.
Användarsökvägsprefix
Det sökvägsprefix som används när nya användare skapas.
Förfallotid för användarmedlemskap
Tid efter vilken medlemskapet upphör.
Inkapslingsdjup för användarmedlemskap
Returnerar det maximala djupet för gruppkapsling när medlemsrelationer synkroniseras. Värdet 0 inaktiverar sökning efter gruppmedlemskap. Värdet 1 lägger bara till en användares direktgrupper. Det här värdet har ingen effekt vid synkronisering av enskilda grupper endast när en användares medlemskapshistorik synkroniseras.
Förfallotid för grupp
Varaktighet tills en synkroniserad grupp förfaller.
Automatiskt gruppmedlemskap
Lista över grupper som en synkroniserad grupp läggs till i automatiskt.
Mappning av gruppegenskaper
Lista mappningsdefinition för lokala egenskaper från externa egenskaper.
Prefix för gruppsökväg
Det sökvägsprefix som används när nya grupper skapas.

Den externa inloggningsmodulen the-external-login-module

Den externa inloggningsmodulen finns under Apache Jackrabbit Oak External Login Module under hanteringskonsolen.

NOTE
Apache Jackrabbit Oak External Login Module implementerar Java Authentication and Authorization Servi (JAAS)-specifikationerna. Se Java Security Reference Guide för Oracle för mer information.

Dess uppdrag är att definiera vilken identitetsleverantör och synkroniseringshanterare som ska användas, vilket effektivt binder de två modulerna.

Följande konfigurationsalternativ är tillgängliga:

JAAS-rankning
Ange rangordningen (dvs. sorteringsordningen) för den här inloggningsmodulposten. Posterna sorteras i fallande ordning (dvs. högre rangordnade konfigurationer kommer först).
JAAS-kontrollflagga
Egenskap som anger om en LoginModule är OBLIGATORISK, REQUISITE, SUFFICIENT eller OPTIONAL.Mer information om vad dessa flaggor betyder finns i JAAS-konfigurationsdokumentationen.
JAAS Realm
Sfärnamnet (eller programnamnet) som LoginModule registreras mot. Om inget sfärnamn anges registreras LoginModule med en standardsfärk som konfigurerats i Felix JAAS-konfigurationen.
Namn på identitetsleverantör
Identitetsleverantörens namn.
Namn på synkroniseringshanterare
Synkroniseringshanterarens namn.
NOTE
Om du planerar att ha mer än en LDAP-konfiguration med din AEM-instans måste separata identitetsleverantörer och synkroniseringshanterare skapas för varje konfiguration.

Konfigurera LDAP över SSL configure-ldap-over-ssl

AEM 6 kan konfigureras för autentisering med LDAP över SSL genom att följa nedanstående procedur:

  1. Kontrollera Använd SSL eller Använd TLS kryssrutor när du konfigurerar LDAP-identitetsleverantör.

  2. Konfigurera Synkroniseringshanteraren och modulen för extern inloggning enligt inställningarna.

  3. Installera SSL-certifikaten i Java VM om det behövs. Detta kan du göra med nyckelverktyget:

    keytool -import -alias localCA -file <certificate location> -keystore <keystore location>

  4. Testa anslutningen till LDAP-servern.

Skapa SSL-certifikat creating-ssl-certificates

Självsignerade certifikat kan användas när AEM konfigureras för autentisering med LDAP via SSL. Nedan visas ett exempel på ett arbetssätt för att generera certifikat som ska användas med AEM.

  1. Kontrollera att du har ett SSL-bibliotek installerat och att det fungerar. I den här proceduren används OpenSSL som exempel.

  2. Skapa en anpassad OpenSSL-konfigurationsfil (cnf). Detta kan du göra genom att kopiera standardkonfigurationsfilen openssl.cnf ​ och anpassa den. På UNIX-system finns den vanligtvis på /usr/lib/ssl/openssl.cnf

  3. Fortsätt till att skapa certifikatutfärdarens rotnyckel genom att köra följande kommando i en terminal:

    code language-none
    openssl genpkey -algorithm [public key algorithm] -out certificatefile.key -pkeyopt [public key algorithm option]
    
  4. Skapa sedan ett nytt självsignerat certifikat:

    openssl req -new -x509 -days [number of days for certification] -key certificatefile.key -out root-ca.crt -config CA/openssl.cnf

  5. Inspect det nya certifikatet för att säkerställa att allt är i rätt ordning:

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

  6. Kontrollera att alla mappar som anges i certifikatkonfigurationsfilen (.cnf) finns. Om inte, skapar du dem.

  7. Skapa ett slumpmässigt startvärde genom att köra:

    openssl rand -out private/.rand 8192

  8. Flytta de skapade .pem-filerna till de platser som är konfigurerade i .cnf-filen.

  9. Lägg slutligen till certifikatet i Java-nyckelbehållaren.

Aktivera felsökningsloggning enabling-debug-logging

Felsökningsloggning kan aktiveras för både LDAP-identitetsleverantören och modulen för extern inloggning för att felsöka anslutningsproblem.

Om du vill aktivera felsökningsloggning måste du:

  1. Gå till webbhanteringskonsolen.
  2. Sök efter"Konfiguration av loggningsloggare för Apache Sling" och skapa två loggare med följande alternativ:
  • Loggnivå: Felsök

  • Loggfil logs/ldap.log

  • Meddelandemönster: {0,date,dd.MM.yyyy HHss.SSS} *{4}* {2}

  • Logger: org.apache.jackrabbit.oak.security.authentication.ldap

  • Loggnivå: Felsök

  • Loggfil: logs/external.log

  • Meddelandemönster: {0,date,dd.MM.yyyy HHss.SSS} *{4}* {2}

  • Logger: org.apache.jackrabbit.oak.spi.security.authentication.external

Ett ord om gruppanknytning a-word-on-group-affiliation

Användare som synkroniseras via LDAP kan ingå i olika grupper i AEM. Dessa grupper kan vara externa LDAP-grupper som läggs till AEM som en del av synkroniseringsprocessen, men de kan också vara grupper som läggs till separat och inte ingår i det ursprungliga LDAP-grupptillhörighetsschemat.

I de flesta fall kan dessa grupper läggas till av en lokal AEM eller av någon annan identitetsleverantör.

Om en användare tas bort från en grupp på LDAP-servern återspeglas ändringen även på AEM sida vid synkroniseringen. Alla andra grupptillhörigheter för användaren som inte lades till av LDAP finns dock kvar.

AEM upptäcker och hanterar rensning av användare från externa grupper genom att använda rep:externalId -egenskap. Den här egenskapen läggs till automatiskt för alla användare eller grupper som synkroniseras med Synchronization Handler och den innehåller information om den ursprungliga identitetsleverantören.

Mer information finns i dokumentationen för Apache Oak på Användar- och gruppsynkronisering.

Kända fel known-issues

Om du tänker använda LDAP över SSL måste du kontrollera att de certifikat du använder skapas utan alternativet Netscape-kommentar. Om det här alternativet är aktiverat misslyckas autentiseringen med ett SSL-handskakningsfel.

recommendation-more-help
5ce3024a-cbea-458b-8b2f-f9b8dda516e8