Configurazione di LDAP con AEM 6

LDAP ( ​Lightweight ​Directory ​Access ​Protocol) viene utilizzato per accedere ai servizi di directory centralizzati. In questo modo si riducono gli sforzi necessari per gestire gli account utente a cui possono accedere più applicazioni. Uno di questi server LDAP è Active Directory. LDAP viene spesso utilizzato per ottenere Single Sign On, che consente all’utente di accedere a più applicazioni dopo l’accesso.

Gli account utente possono essere sincronizzati tra il server LDAP e l’archivio, salvando i dettagli dell’account LDAP nell’archivio. Questo consente di assegnare gli account ai gruppi di repository per l'allocazione delle autorizzazioni e dei privilegi richiesti.

L’archivio utilizza l’autenticazione LDAP per autenticare tali utenti, con le credenziali trasmesse al server LDAP per la convalida, necessaria prima di consentire l’accesso all’archivio. Per migliorare le prestazioni, le credenziali convalidate correttamente possono essere memorizzate nella cache dall'archivio, con un timeout di scadenza per garantire che il ripristino si verifichi dopo un periodo appropriato.

Quando un account viene rimosso dalla convalida del server LDAP non viene più concesso e viene negato l’accesso all’archivio. È inoltre possibile eliminare i dettagli degli account LDAP salvati nell’archivio.

L’utilizzo di tali account è trasparente per gli utenti, che non vedono alcuna differenza tra gli account utente e di gruppo creati da LDAP e quelli creati esclusivamente nell’archivio.

In AEM 6, il supporto LDAP viene fornito con una nuova implementazione che richiede un tipo di configurazione diverso rispetto alle versioni precedenti.

Tutte le configurazioni LDAP sono ora disponibili come configurazioni OSGi. Possono essere configurati tramite la console Gestione Web all'indirizzo:
https://serveraddress:4502/system/console/configMgr

Affinché LDAP funzioni con AEM, è necessario creare tre configurazioni OSGi:

  1. Un provider di identità LDAP (IDP).
  2. Un Gestore Di Sincronizzazione.
  3. Un Modulo Di Login Esterno.
Nota

Guardate il modulo di login esterno di Oak - Autenticazione con LDAP e oltre ai moduli di login esterni di approfondimento.

Per un esempio della configurazione di Experience Manager con Apache DS, consultate Configurazione di Adobe Experience Manager 6.5 per l'utilizzo del servizio directory Apache.

Configurazione del provider di identità LDAP

Il provider di identità LDAP viene utilizzato per definire il modo in cui gli utenti vengono recuperati dal server LDAP.

È disponibile nella console di gestione sotto il nome del provider ​di identità LDAP Apache Jackrabbit Oak.

Per il provider di identità LDAP sono disponibili le seguenti opzioni di configurazione:

Nome provider LDAP Nome della configurazione del provider LDAP.
Nome host server LDAP
Nome host del server LDAP
Porta server LDAP Porta del server LDAP
Usa SSL Indica se utilizzare una connessione SSL (LDAP).
Usa TLS Indica se TLS deve essere avviato sulle connessioni.
Disattiva controllo certificati Indica se la convalida del certificato del server deve essere disabilitata.
DN di binding DN dell’utente per l’autenticazione. Se questo campo viene lasciato vuoto, verrà eseguito un binding anonimo.
Password binding Password dell'utente per l'autenticazione
Timeout ricerca Tempo fino al termine della ricerca
Massimo pool amministratore attivo La dimensione massima attiva del pool di connessioni di amministrazione.
Massimo pool di utenti attivo Dimensione massima attiva del pool di connessioni utente.
DN base utente DN per ricerche utente
Classi degli oggetti utente L'elenco delle classi di oggetti che una voce utente deve contenere.
Attributo ID utente Nome dell’attributo che contiene l’ID utente.
Filtro extra utente Filtro LDAP aggiuntivo da usare per la ricerca di utenti. Il filtro finale è formattato come: '(&(<idAttr>=<userId>)(objectclass=<objectclass>)<extraFilter>)' (user.extraFilter)
Percorsi DN utente Controlla se il DN deve essere utilizzato per calcolare una parte del percorso intermedio.
DN base gruppo DN di base per le ricerche di gruppi.
Classi oggetto gruppo L'elenco delle classi di oggetti che una voce di gruppo deve contenere.
Attributo nome gruppo Nome dell’attributo che contiene il nome del gruppo.
Raggruppa filtro aggiuntivo Filtro LDAP aggiuntivo da usare per la ricerca di gruppi. Il filtro finale è formattato come: '(&(<nomeAttr>=<nomeGruppo>)(objectclass=<classeOggetto>)<filtroExtra>)'
Percorsi DN gruppo Controlla se il DN deve essere utilizzato per calcolare una parte del percorso intermedio.
Attributo membro del gruppo Attributo del gruppo che contiene i membri di un gruppo.

Configurazione Del Gestore Di Sincronizzazione

Il gestore di sincronizzazione definirà il modo in cui gli utenti e i gruppi del provider di identità verranno sincronizzati con il repository.

Si trova sotto il nome Apache Jackrabbit Oak Default Sync Handler nella console di gestione.

Per il gestore sincronizzazione sono disponibili le seguenti opzioni di configurazione:

Nome gestore sincronizzazione Nome della configurazione di sincronizzazione.
Ora di scadenza utente Durata fino alla scadenza di un utente sincronizzato.
iscrizione automatica utente Elenco di gruppi a cui viene aggiunto automaticamente un utente sincronizzato.
Mappatura proprietà utente Definizione di mappatura elenco delle proprietà locali da quelle esterne.
Prefisso percorso utente Il prefisso del percorso utilizzato per creare nuovi utenti.
Scadenza iscrizione utente Ora di scadenza dell'iscrizione.
Profondità di nidificazione appartenenza utente Restituisce la profondità massima di nidificazione del gruppo durante la sincronizzazione delle relazioni di appartenenza. Un valore pari a 0 disabilita efficacemente la ricerca di appartenenza al gruppo. Il valore 1 aggiunge solo i gruppi diretti di un utente. Questo valore non ha alcun effetto quando si sincronizzano singoli gruppi solo quando si sincronizza un antenato di appartenenza a un utente.
Ora di scadenza gruppo Durata fino alla scadenza di un gruppo sincronizzato.
iscrizione automatica al gruppo Elenco di gruppi a cui viene aggiunto automaticamente un gruppo sincronizzato.
Mappatura proprietà gruppo Definizione di mappatura elenco delle proprietà locali da quelle esterne.
Prefisso percorso gruppo Prefisso percorso utilizzato per la creazione di nuovi gruppi.

Il modulo di login esterno

Il modulo di login esterno si trova sotto il modulo ​di accesso esterno Apache Jackrabbit Oak nella console di gestione.

Nota

Il modulo di login esterno Apache Jackrabbit Oak implementa le specifiche Java Authentication and Authorization Servi (JAAS). Per ulteriori informazioni, vedere la Guida di riferimento ufficiale per la sicurezza di Oracle Java .

Il suo compito è definire il provider di identità e il gestore di sincronizzazione da utilizzare, con il binding efficace dei due moduli.

Sono disponibili le seguenti opzioni di configurazione:

Classificazione JAAS Specifica della classificazione (cioè l’ordine di ordinamento) di questa voce del modulo di login. Le voci vengono ordinate in ordine decrescente (ad esempio, le configurazioni con un valore più elevato vengono visualizzate per prime).
Flag di controllo JAAS Proprietà che specifica se un LoginModule è OBBLIGATORIO, OBBLIGATORIO, SUFFICIENTE o FACOLTATIVO. Per ulteriori informazioni sul significato di questi flag, fare riferimento alla documentazione di configurazione JAAS.
JAAS Realm Nome dell'area di autenticazione (o nome dell'applicazione) rispetto al quale viene registrato il Modulo di accesso. Se non viene fornito alcun nome di realm, LoginModule viene registrato con un realm predefinito come configurato nella configurazione Felix JAAS.
Nome provider identità Nome del provider di identità.
Nome gestore sincronizzazione Nome del gestore di sincronizzazione.
Nota

Se prevedete di disporre di più configurazioni LDAP con l’istanza AEM, dovete creare provider di identità e gestori di sincronizzazione separati per ciascuna configurazione.

Configurare LDAP su SSL

AEM 6 può essere configurato per l’autenticazione con LDAP tramite SSL seguendo la procedura seguente:

  1. Selezionate le caselle di controllo Usa SSL o Usa TLS al momento della configurazione del provider di identitàLDAP.

  2. Configurate il gestore di sincronizzazione e il modulo di login esterno in base alla configurazione.

  3. Se necessario, installate i certificati SSL nella macchina virtuale Java. A tale scopo, è possibile utilizzare lo strumento keytool:

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

  4. Verificate la connessione al server LDAP.

Creazione di certificati SSL

I certificati autofirmati possono essere utilizzati durante la configurazione di AEM per l’autenticazione con LDAP tramite SSL. Di seguito è riportato un esempio di procedura di lavoro per la generazione di certificati da utilizzare con AEM.

  1. Accertatevi che sia installata e funzionante una libreria SSL. Questa procedura utilizza OpenSSL come esempio.

  2. Create un file di configurazione OpenSSL personalizzato (cnf). Questo può essere fatto copiando il file di configurazione openssl.cnf predefinito e personalizzandolo. Sui sistemi UNIX, si trova in genere in /usr/lib/ssl/openssl.cnf

  3. Per creare la chiave radice CA, esegui il comando seguente in un terminale:

    openssl genpkey -algorithm [public key algorithm] -out certificatefile.key -pkeyopt [public key algorithm option]
    
  4. Create quindi un nuovo certificato autofirmato:

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

  5. Controlla il certificato appena generato per essere sicuro che tutto sia in ordine:

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

  6. Verificate che tutte le cartelle specificate nel file di configurazione del certificato (.cnf) esistano. In caso contrario, createli.

  7. Create un seme casuale, eseguendo, ad esempio:

    openssl rand -out private/.rand 8192

  8. Spostate i file .pem creati nelle posizioni configurate nel file .cnf.

  9. Infine, aggiungete il certificato all'archivio chiavi Java.

Abilitazione della registrazione di debug

La registrazione del debug può essere abilitata sia per il provider di identità LDAP che per il modulo di login esterno, al fine di risolvere i problemi di connessione.

Per abilitare la registrazione di debug, è necessario:

  1. Passate alla console di gestione Web.
  2. Trovate "Apache Sling Logging Logger Configuration" e create due logger con le seguenti opzioni:
  • Livello di registro: Debug

  • File di registro logs/ldap.log

  • Pattern messaggio: {0,data,dd.MM.yyyy HH:mm:ss.SSS} &ast;{4}&ast; {2}

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

  • Livello di registro: Debug

  • File di registro: logs/external.log

  • Pattern messaggio: {0,data,dd.MM.yyyy HH:mm:ss.SSS} &ast;{4}&ast; {2}

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

Parola sull'affiliazione di gruppo

Gli utenti sincronizzati tramite LDAP possono far parte di diversi gruppi in AEM. Questi gruppi possono essere gruppi LDAP esterni che verranno aggiunti ad AEM come parte del processo di sincronizzazione, ma possono anche essere gruppi che vengono aggiunti separatamente e non fanno parte dello schema di affiliazione del gruppo LDAP originale.

Nella maggior parte dei casi, questi possono essere gruppi aggiunti da un amministratore AEM locale o da qualsiasi altro provider di identità.

Se un utente viene rimosso da un gruppo sul server LDAP, la modifica verrà applicata anche su AEM al momento della sincronizzazione. Tuttavia, tutte le altre affiliazioni di gruppo dell’utente che non sono state aggiunte da LDAP rimarranno in vigore.

AEM rileva e gestisce l’eliminazione degli utenti da gruppi esterni utilizzando la rep:externalId proprietà. Questa proprietà viene aggiunta automaticamente a qualsiasi utente o gruppo sincronizzato dal Gestore sincronizzazione e contiene informazioni sul provider di identità di origine.

Per ulteriori informazioni, consultate la documentazione Apache Oak sulla sincronizzazione diutenti e gruppi.

Problemi noti

Se intendete utilizzare LDAP su SSL, accertatevi che i certificati utilizzati siano creati senza l’opzione commento Netscape. Se questa opzione è abilitata, l'autenticazione non riuscirà con un errore di Handshake SSL.

In questa pagina