Konfigurera LDAP med AEM 6 configuring-ldap-with-aem
LDAP (protokollet L ightweight D Directory A Access P) används för åtkomst till centraliserade katalogtjänster. Det 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. Den här funktionen 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-servern beviljas inte längre någon validering och åtkomst till databasen nekas. Information om LDAP-konton som sparas i databasen kan också rensas.
Användningen av sådana konton är transparent för användarna. Det innebär att de inte ser någon 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
Om du vill att LDAP ska fungera med AEM måste du skapa tre OSGi-konfigurationer:
- En LDAP-identitetsleverantör (IDP).
- En synkroniseringshanterare.
- En extern inloggningsmodul.
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 -namnet.
Följande konfigurationsalternativ är tillgängliga för LDAP-identitetsleverantören:
Konfigurera synkroniseringshanteraren configuring-the-synchronization-handler
Synkroniseringshanteraren definierar hur identitetsleverantörens användare och grupper synkroniseras med databasen.
Den finns under Apache Jackrabbit Oak-standardhanterare för synkronisering i hanteringskonsolen.
Följande konfigurationsalternativ är tillgängliga för Synkroniseringshanteraren:
Den externa inloggningsmodulen the-external-login-module
Den externa inloggningsmodulen finns under Apache Jackrabbit Oak External Login Module under hanteringskonsolen.
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:
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:
-
Markera kryssrutorna Använd SSL eller Använd TLS när du konfigurerar LDAP-identitetsprovidern.
-
Konfigurera Synkroniseringshanteraren och modulen för extern inloggning enligt inställningarna.
-
Installera SSL-certifikaten i din virtuella Java™-dator om det behövs. Installationen kan göras med hjälp av nyckelverktyget:
keytool -import -alias localCA -file <certificate location> -keystore <keystore location>
-
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.
-
Kontrollera att du har ett SSL-bibliotek installerat och att det fungerar. I den här proceduren används OpenSSL som exempel.
-
Skapa en anpassad OpenSSL-konfigurationsfil (cnf). Du kan göra den här konfigurationen genom att kopiera standardkonfigurationsfilen openssl.cnf och anpassa den. På UNIX®-system är den på
/usr/lib/ssl/openssl.cnf
-
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]
-
Skapa sedan ett självsignerat certifikat:
openssl req -new -x509 -days [number of days for certification] -key certificatefile.key -out root-ca.crt -config CA/openssl.cnf
-
Kontrollera att allt är i rätt ordning genom att kontrollera det nya certifikatet:
openssl x509 -noout -text -in root-ca.crt
-
Kontrollera att alla mappar som anges i certifikatkonfigurationsfilen (.cnf) finns. Om inte, skapar du dem.
-
Skapa ett slumpmässigt startvärde genom att köra:
openssl rand -out private/.rand 8192
-
Flytta de skapade .pem-filerna till de platser som är konfigurerade i .cnf-filen.
-
Lägg slutligen till certifikatet i Java™-nyckelbehållaren.
Aktivera felsökningsloggning enabling-debug-logging
Felsökningsloggning kan aktiveras för både LDAP-identitetsprovidern och den externa inloggningsmodulen för att felsöka anslutningsproblem.
Om du vill aktivera felsökningsloggning måste du göra följande:
- Gå till webbhanteringskonsolen.
- Sök efter"Konfiguration av loggningslogg för Apache Sling" och skapa två loggare med följande alternativ:
-
Loggnivå: Felsökning
-
Loggfil logs/ldap.log
-
Meddelandemönster: {0,date,
dd.MM.yyyy
HH:mm:ss.SSS
*{4}* {2} -
Logger: org.apache.jackrabbit.oak.security.authentication.ldap
-
Loggnivå: Felsökning
-
Loggfil: logs/external.log
-
Meddelandemönster: {0,date,
dd.MM.yyyy
HH:mm:ss.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 i AEM som en del av synkroniseringsprocessen. De kan dock också vara grupper som läggs till separat och inte ingår i det ursprungliga LDAP-koncerntillhörighetsschemat.
Vanligtvis läggs dessa grupper 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 på AEM sida vid synkroniseringen. Alla andra grupptillhörigheter för användaren som inte lades till av LDAP finns dock kvar.
AEM identifierar och hanterar rensning av användare från externa grupper med egenskapen rep:externalId
. 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.
Se Apache Oak-dokumentation om 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.