LDAP configureren met AEM 6

LDAP (de L rechter D directory A cess P Protocol) wordt gebruikt voor toegang tot gecentraliseerde directoryservices. Dit helpt de inspanning verminderen die wordt vereist om gebruikersrekeningen te beheren aangezien zij door veelvoudige toepassingen kunnen worden betreden. Een dergelijke LDAP-server is Active Directory. LDAP wordt vaak gebruikt om Single Sign On te bereiken, waardoor een gebruiker toegang heeft tot meerdere toepassingen nadat hij zich eenmaal heeft aangemeld.

Gebruikersaccounts kunnen worden gesynchroniseerd tussen de LDAP-server en de gegevensopslagruimte, waarbij de gegevens van de LDAP-account worden opgeslagen in de gegevensopslagruimte. Hierdoor kunnen de accounts worden toegewezen aan groepen in de opslagplaats voor het toewijzen van de vereiste machtigingen en bevoegdheden.

De gegevensopslagruimte gebruikt LDAP-verificatie om dergelijke gebruikers te verifiëren, waarbij referenties worden doorgegeven aan de LDAP-server voor validatie, wat vereist is voordat toegang tot de gegevensopslagruimte wordt toegestaan. Om de prestaties te verbeteren, kunnen gevalideerde gegevens door de opslagplaats in cache worden opgeslagen, met een vervaltijd om ervoor te zorgen dat de validatie na een geschikte periode wordt uitgevoerd.

Wanneer een account wordt verwijderd uit de LDAP-servervalidatie, wordt geen toegang meer verleend tot de gegevensopslagruimte. Details van LDAP-accounts die in de opslagplaats zijn opgeslagen, kunnen ook worden gewist.

Het gebruik van dergelijke accounts is transparant voor uw gebruikers, ze zien geen verschil tussen gebruikers- en groepsaccounts die met LDAP zijn gemaakt en accounts die alleen in de repository zijn gemaakt.

In AEM 6 wordt bij LDAP-ondersteuning een nieuwe implementatie geleverd waarvoor een ander type configuratie is vereist dan bij eerdere versies.

Alle configuraties LDAP zijn nu beschikbaar als configuraties OSGi. Zij kunnen via de console van het Beheer van het Web in worden gevormd:
https://serveraddress:4502/system/console/configMgr

Om LDAP te hebben werkend met AEM, moet u drie configuraties tot stand brengen OSGi:

  1. Een LDAP-identiteitsprovider (IDP).
  2. Een synchronisatiehandler.
  3. Een externe aanmeldingsmodule.

De LDAP-identiteitsprovider configureren

De LDAP-identiteitsprovider wordt gebruikt om te definiëren hoe gebruikers worden opgehaald van de LDAP-server.

Deze vindt u in de beheerconsole onder de naam Apache Jackrabbit Oak LDAP Identity Provider.

De volgende configuratieopties zijn beschikbaar voor de LDAP Identiteitsprovider:

Naam LDAP-provider Naam van deze LDAP-providerconfiguratie.
Hostnaam LDAP-server
Hostnaam van de LDAP-server
LDAP-serverpoort Poort van de LDAP-server
SSL gebruiken Hiermee wordt aangegeven of een SSL-verbinding (LDAP) moet worden gebruikt.
TLS gebruiken Geeft aan of TLS moet worden gestart op verbindingen.
Certificaatcontrole uitschakelen Hiermee wordt aangegeven of validatie van servercertificaten moet worden uitgeschakeld.
DN binden DN van de gebruiker voor verificatie. Als dit leeg wordt verlaten, zal anonieme bind worden uitgevoerd.
Wachtwoord binden Wachtwoord van de gebruiker voor verificatie
Time-out zoeken Tijd tot een zoektijd uit
Admin pool max actief De maximale actieve grootte van de beheerverbindingspool.
Maximale aantal gebruikers De maximale actieve grootte van de pool van de gebruikersverbinding.
Gebruiker basis-DN De DN voor gebruikerszoekopdrachten
Gebruikersobjectklassen De lijst met objectklassen die een gebruikersinvoer moet bevatten.
Id-kenmerk van gebruiker Naam van het attribuut dat gebruikersidentiteitskaart bevat
Extra filter Gebruiker Extra LDAP-filter bij het zoeken naar gebruikers. Het uiteindelijke filter wordt als volgt opgemaakt: '(&(<idAttr>=<userId>)(objectclass=<objectclass>)<extraFilter>)' (user.extraFilter)
DN-paden gebruiker Bepaalt of de DN moet worden gebruikt voor het berekenen van een gedeelte van het tussenliggende pad.
Basis-DN groeperen De basis-DN voor groepszoekopdrachten.
Objectklassen groeperen De lijst met objectklassen die een groepsitem moet bevatten.
Groepsnaam, kenmerk Naam van het kenmerk dat de groepsnaam bevat.
Extra filter groeperen Extra LDAP-filter bij het zoeken naar groepen. Het uiteindelijke filter wordt als volgt opgemaakt: '(&(<nameAttr>=<groupName>)(objectclass=<objectclass>)<extraFilter>)'
DN-paden groeperen Bepaalt of de DN moet worden gebruikt voor het berekenen van een gedeelte van het tussenliggende pad.
Kenmerk groepslid Groepseigenschap die het lid of de leden van een groep bevat.

De Synchronisatie-handler configureren

De synchronisatiehandler definieert hoe de gebruikers en groepen van de identiteitsprovider worden gesynchroniseerd met de opslagplaats.

Deze bevindt zich onder de naam Apache Jackrabbit Oak Default Sync Handler in de beheerconsole.

De volgende configuratieopties zijn beschikbaar voor de Synchronisatie-handler:

Naam synchronisatiehandler Naam van de synchronisatieconfiguratie.
Vervaltijd gebruiker Duur totdat een gesynchroniseerde gebruiker is verlopen.
Automatisch lidmaatschap van gebruiker Lijst met groepen waaraan een gesynchroniseerde gebruiker automatisch wordt toegevoegd.
Toewijzing van gebruikerseigenschappen Lijsttoewijzingsdefinitie van lokale eigenschappen van externe eigenschappen.
Voorvoegsel gebruikerspad Het padvoorvoegsel dat wordt gebruikt bij het maken van nieuwe gebruikers.
Vervaldatum gebruikerslidmaatschap Tijd waarna het lidmaatschap verloopt.
Geneste diepte van gebruikerslidmaatschap Retourneert de maximale diepte van het nesten van groepen wanneer lidmaatschapsrelaties worden gesynchroniseerd. Met de waarde 0 wordt het opzoeken van het groepslidmaatschap effectief uitgeschakeld. Met de waarde 1 voegt u alleen de directe groepen van een gebruiker toe. Deze waarde heeft geen effect wanneer u afzonderlijke groepen alleen synchroniseert wanneer u een abonnement voor een gebruikerslidmaatschap synchroniseert.
Vervaltijd groep Duur tot een gesynchroniseerde groep verloopt.
Automatisch lidmaatschap groeperen Lijst met groepen waaraan een gesynchroniseerde groep automatisch wordt toegevoegd.
Groepseigenschappen toewijzen Lijsttoewijzingsdefinitie van lokale eigenschappen van externe eigenschappen.
Groepspadvoorvoegsel Het padvoorvoegsel dat wordt gebruikt bij het maken van nieuwe groepen.

De externe aanmeldingsmodule

De externe aanmeldingsmodule bevindt zich onder Apache Jackrabbit Oak External Login Module onder de beheerconsole.

OPMERKING

De Apache Jackrabbit Oak External Login Module implementeert de Java Authentication and Authorization Service (JAAS)-specificaties. Zie Officiële Gids van de Verwijzing van de Veiligheid van Java van het Oracle Java voor meer informatie.

Zijn baan moet bepalen welke Leverancier van de Identiteit en de Handler van de Synchronisatie aan gebruik, effectief binden de twee modules.

De volgende configuratieopties zijn beschikbaar:

JAAS Ranking Het specificeren van de rangschikking (d.w.z. sorteervolgorde) van deze login moduleingang. De items worden in aflopende volgorde gesorteerd (de configuraties met een hogere waarde worden het eerst gesorteerd).
JAAS-besturingsmarkering Eigenschap die opgeeft of een LoginModule al dan niet VEREIST, VEREIST, VOLDOENDE of OPTIONAL.Raadpleeg de configuratiedocumentatie van JAAS voor meer details rond de betekenis van deze vlaggen.
JAAS Realm De naam van het domein (of de toepassingsnaam) waartegen LoginModule wordt geregistreerd. Als geen domeinnaam wordt verstrekt dan wordt LoginModule geregistreerd met een standaarddomein zoals die in de configuratie van Felix JAAS wordt gevormd.
Naam identiteitsprovider Naam van de identiteitsprovider.
Naam synchronisatiehandler Naam van de synchronisatiehandler.
OPMERKING

Als u op het hebben van meer dan één configuratie LDAP met uw AEM instantie van plan bent, moeten de afzonderlijke Leveranciers van de Identiteit en de Managers van de Synchronisatie voor elke configuratie worden gecreeerd.

LDAP configureren via SSL

AEM 6 kan worden gevormd om met LDAP over SSL voor authentiek te verklaren door de hieronder procedure te volgen:

  1. Schakel het selectievakje SSL of TLS gebruiken in wanneer u de LDAP-identiteitsprovider configureert.

  2. Configureer de synchronisatiehandler en de module Externe aanmelding naar wens.

  3. Installeer indien nodig de SSL-certificaten in uw Java VM. Dit kan worden gedaan door keytool te gebruiken:

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

  4. Test de verbinding met de LDAP-server.

SSL-certificaten maken

Zelfondertekende certificaten kunnen worden gebruikt wanneer u AEM configureert voor verificatie met LDAP via SSL. Hieronder ziet u een voorbeeld van een werkprocedure voor het genereren van certificaten voor gebruik met AEM.

  1. Zorg ervoor dat u een SSL-bibliotheek hebt geïnstalleerd en werkt. Bij deze procedure wordt OpenSSL als voorbeeld gebruikt.

  2. Maak een aangepast cnf-bestand (OpenSSL Configuration). Dit kan worden gedaan door het standaard openssl.cnf ​ configuratiedossier te kopiëren en het aan te passen. Bij UNIX-systemen bevindt de software zich gewoonlijk op /usr/lib/ssl/openssl.cnf

  3. Ga aan het creëren van de wortelsleutel van CA door het hieronder bevel in een terminal in werking te stellen:

    openssl genpkey -algorithm [public key algorithm] -out certificatefile.key -pkeyopt [public key algorithm option]
    
  4. Maak vervolgens een nieuw zelfondertekend certificaat:

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

  5. Inspect het nieuwe certificaat om te controleren of alles in orde is:

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

  6. Controleer of alle mappen die zijn opgegeven in het cnf-bestand (Certificate Configuration) bestaan. Als dat niet het geval is, maakt u ze.

  7. Een willekeurig zaadje maken door bijvoorbeeld te draaien:

    openssl rand -out private/.rand 8192

  8. Verplaats de gemaakte .pem-bestanden naar de locaties die in het .cnf-bestand zijn geconfigureerd.

  9. Voeg ten slotte het certificaat toe aan het sleutelarchief van Java.

Foutopsporingslogbestand inschakelen

Foutopsporingslogbestand kan worden ingeschakeld voor zowel de LDAP-identiteitsprovider als de externe aanmeldingsmodule om verbindingsproblemen op te lossen.

Om het registreren voor foutopsporing in te schakelen, moet u:

  1. Ga naar de webbeheerconsole.
  2. Zoek naar "Apache Sling Logging Logger Configuration" en maak twee loggers met de volgende opties:
  • Logniveau: Foutopsporing

  • Logbestand logs/ldap.log

  • Berichtpatroon: {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* {2}

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

  • Logniveau: Foutopsporing

  • Logbestand: logs/external.log

  • Berichtpatroon: {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* {2}

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

Een woord over groepsverbinding

Gebruikers die via LDAP zijn gesynchroniseerd, kunnen deel uitmaken van verschillende groepen in AEM. Deze groepen kunnen externe LDAP-groepen zijn die als onderdeel van het synchronisatieproces aan AEM worden toegevoegd, maar het kunnen ook groepen zijn die afzonderlijk worden toegevoegd en geen deel uitmaken van het oorspronkelijke LDAP-groepsverbindingsschema.

In de meeste gevallen, kunnen deze groepen zijn die door een lokale AEM beheerder of door een andere identiteitsleverancier worden toegevoegd.

Als een gebruiker uit een groep op de LDAP-server wordt verwijderd, wordt de wijziging ook aan de AEM kant doorgevoerd bij synchronisatie. Alle andere groepsrelaties van de gebruiker die niet door LDAP zijn toegevoegd, blijven echter wel van kracht.

AEM detecteert en handelt de verwijdering van gebruikers uit externe groepen af door gebruik te maken van de eigenschap rep:externalId. Dit bezit wordt automatisch toegevoegd aan om het even welke gebruiker of groep die door de Handler van de Synchronisatie wordt gesynchroniseerd en het bevat informatie over de voortkomende identiteitsleverancier.

Raadpleeg de documentatie bij Apache Oak over Synchronisatie van gebruikers en groepen voor meer informatie.

Bekende problemen

Als u LDAP wilt gebruiken via SSL, moet u ervoor zorgen dat de certificaten die u gebruikt, worden gemaakt zonder de Netscape-opmerkingsoptie. Als deze optie is ingeschakeld, mislukt de verificatie met een SSL Handshake-fout.

Op deze pagina