LDAP (il L leggero D directory A accesso P protocollo) viene utilizzato per accedere ai servizi di directory centralizzati. Consente di ridurre lo sforzo necessario per gestire gli account utente in quanto sono accessibili da più applicazioni. Uno di questi server LDAP è Active Directory. LDAP viene spesso utilizzato per ottenere Single Sign-On che consente a un utente di accedere a più applicazioni dopo l'accesso una sola volta.
Gli account utente possono essere sincronizzati tra il server LDAP e il repository, con i dettagli dell'account LDAP salvati nel repository. Questa funzionalità consente di assegnare gli account ai gruppi del repository per l'allocazione delle autorizzazioni e dei privilegi richiesti.
Il repository utilizza l'autenticazione LDAP per autenticare tali utenti, con le credenziali passate al server LDAP per la convalida, necessaria prima di consentire l'accesso al repository. Per migliorare le prestazioni, le credenziali convalidate correttamente possono essere memorizzate nella cache dall’archivio, con un timeout di scadenza per garantire che la riconvalida avvenga dopo un periodo di tempo appropriato.
Quando un account viene rimosso dal server LDAP, la convalida non viene più concessa e l’accesso all’archivio viene negato. È inoltre possibile eliminare i dettagli degli account LDAP salvati nell’archivio.
L’utilizzo di tali account è trasparente per i tuoi utenti. In altre parole, non vedono alcuna differenza tra gli account utente e di gruppo creati da LDAP e gli account 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, devi creare tre configurazioni OSGi:
Osserva Modulo di accesso esterno Oak - Autenticazione con LDAP e oltre per approfondire i moduli di accesso esterno.
Per un Experience Manager sulla configurazione di Apache DS, consulta Configurazione di Adobe Experience Manager 6.5 per l’utilizzo del servizio directory Apache.
Il provider di identità LDAP viene utilizzato per definire la modalità di recupero degli utenti dal server LDAP.
Si trova nella console di gestione sotto al Provider di identità LDAP Apache Jackrabbit Oak nome.
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 deve essere utilizzata una connessione SSL (LDAP). |
Usa TLS | Indica se TLS deve essere avviato sulle connessioni. |
Disattiva verifica certificati | Indica se la convalida del certificato del server deve essere disabilitata. |
Associa DN | DN dell'utente per l'autenticazione. Se questo campo viene lasciato vuoto, viene eseguito un binding anonimo. |
Password binding | Password dell’utente per l’autenticazione |
Timeout ricerca | Tempo fino al timeout di una ricerca |
Massimo pool di amministrazione attivo | Dimensione massima attiva del pool di connessioni amministratore. |
Max. pool utenti attivo | Dimensione massima attiva del pool di connessioni utente. |
DN base utente | DN per le ricerche utente |
Classi oggetto utente | L'elenco delle classi oggetto che una voce utente deve contenere. |
Attributo ID utente | Nome dell’attributo che contiene l’ID utente. |
Filtro aggiuntivo utente | Filtro LDAP aggiuntivo da utilizzare 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. |
Raggruppa classi oggetto | L'elenco delle classi oggetto che una voce del gruppo deve contenere. |
Attributo nome gruppo | Nome dell'attributo che contiene il nome del gruppo. |
Filtro aggiuntivo gruppo | Filtro LDAP aggiuntivo da utilizzare per la ricerca di gruppi. Il filtro finale è formattato come: '(&(<nameattr>=<groupname>)(objectclass=<objectclass>)<extrafilter>)' |
Raggruppa percorsi DN | Controlla se il DN deve essere utilizzato per calcolare una parte del percorso intermedio. |
Attributo membro gruppo | Attributo gruppo contenente uno o più membri di un gruppo. |
Il gestore di sincronizzazione definisce il modo in cui gli utenti e i gruppi del provider di identità vengono sincronizzati con il repository.
Si trova sotto il Gestore di sincronizzazione predefinito Apache Jackrabbit Oak nome nella console di gestione.
Per il gestore di sincronizzazione sono disponibili le seguenti opzioni di configurazione:
Nome gestore di sincronizzazione | Nome della configurazione di sincronizzazione. |
Tempo di scadenza utente | Durata della scadenza di un utente sincronizzato. |
Iscrizione automatica utente | Elenco di gruppi a cui viene aggiunto automaticamente un utente sincronizzato. |
Mappatura proprietà utente | Definizione di mapping elenco di proprietà locali da quelle esterne. |
Prefisso percorso utente | Prefisso del percorso utilizzato per la creazione degli utenti. |
Scadenza appartenenza utente | Tempo dopo il quale scade l’iscrizione. |
Profondità di nidificazione appartenenza utente | Restituisce la profondità massima della nidificazione dei gruppi quando le relazioni di appartenenza vengono sincronizzate. Un valore pari a 0 disattiva 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 durante la sincronizzazione di un elemento precedente di appartenenza degli utenti. |
Ora scadenza gruppo | Durata fino alla scadenza di un gruppo sincronizzato. |
Iscrizione automatica gruppo | Elenco di gruppi a cui viene aggiunto automaticamente un gruppo sincronizzato. |
Mappatura proprietà gruppo | Definizione di mapping elenco di proprietà locali da quelle esterne. |
Prefisso percorso gruppo | Prefisso del percorso utilizzato per la creazione di gruppi. |
Il modulo di accesso esterno si trova sotto Modulo di accesso esterno Apache Jackrabbit Oak nella console di gestione.
Il modulo di accesso esterno Apache Jackrabbit Oak implementa le specifiche Java™ Authentication and Authorization Servi (JAAS). Consulta la Guida di riferimento ufficiale per la sicurezza Java™ Oracle per ulteriori informazioni.
Il suo lavoro consiste nel definire quale provider di identità e gestore di sincronizzazione utilizzare, associando in modo efficace i due moduli.
Sono disponibili le seguenti opzioni di configurazione:
Classifica JAAS | Specifica la classificazione (ovvero l’ordinamento) di questa voce del modulo di accesso. Le voci sono ordinate in ordine decrescente (ovvero, le configurazioni con classificazione di valori più elevati vengono per prime). |
---|---|
Flag di controllo JAAS | Proprietà che specifica se LoginModule è REQUIRED, REQUIITE, SUFFICIENT o OPTIONAL. Per ulteriori informazioni sul significato di questi flag, consulta la documentazione sulla configurazione JAAS. |
Realm JAAS | Il nome dell'area di autenticazione (o nome dell'applicazione) con cui è registrato LoginModule. Se non viene fornito alcun nome di area di autenticazione, LoginModule viene registrato con un'area di autenticazione predefinita come configurato nella configurazione Felix JAAS. |
Nome provider di identità | Nome del provider di identità. |
Nome gestore di sincronizzazione | Nome del gestore di sincronizzazione. |
Se si prevede di avere più configurazioni LDAP con l'istanza AEM, è necessario creare provider di identità e gestori di sincronizzazione separati per ogni configurazione.
AEM 6 può essere configurato per l’autenticazione con LDAP tramite SSL seguendo la procedura seguente:
Controlla la Usa SSL o Usa TLS caselle di controllo durante la configurazione di Provider identità LDAP.
Configura il gestore di sincronizzazione e il modulo di accesso esterno in base alla configurazione.
Se necessario, installa i certificati SSL nella tua Java™ VM. Questa installazione può essere eseguita utilizzando lo strumento chiave:
keytool -import -alias localCA -file <certificate location> -keystore <keystore location>
Verificare la connessione al server LDAP.
I certificati autofirmati possono essere utilizzati durante la configurazione dell’AEM per l’autenticazione con LDAP tramite SSL. Di seguito è riportato un esempio di procedura operativa per la generazione di certificati da utilizzare con l’AEM.
Assicurati di avere una libreria SSL installata e funzionante. Questa procedura utilizza OpenSSL come esempio.
Crea un file di configurazione OpenSSL (cnf) personalizzato. Questa configurazione può essere eseguita copiando il file di configurazione openssl.cnf predefinito e personalizzandolo. Nei sistemi UNIX®, è disponibile /usr/lib/ssl/openssl.cnf
Procedi alla creazione della chiave radice CA eseguendo il comando seguente in un terminale:
openssl genpkey -algorithm [public key algorithm] -out certificatefile.key -pkeyopt [public key algorithm option]
Quindi, crea un certificato autofirmato:
openssl req -new -x509 -days [number of days for certification] -key certificatefile.key -out root-ca.crt -config CA/openssl.cnf
Per verificare che tutto sia a posto, controlla il certificato appena generato:
openssl x509 -noout -text -in root-ca.crt
Verifica che siano presenti tutte le cartelle specificate nel file di configurazione del certificato (con estensione cnf). In caso contrario, creale.
Crea un valore di inizializzazione casuale eseguendo, ad esempio:
openssl rand -out private/.rand 8192
Spostare i file con estensione pem creati nelle posizioni configurate nel file con estensione cnf.
Aggiungi infine il certificato al keystore Java™.
Per risolvere i problemi di connessione, è possibile abilitare la registrazione di debug sia per il provider di identità LDAP che per il modulo di accesso esterno.
Per abilitare la registrazione di debug, è necessario effettuare le seguenti operazioni:
Livello registro: debug
File di registro logs/ldap.log
Pattern messaggio: {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* {2}
Logger: org.apache.jackrabbit.oak.security.authentication.ldap
Livello registro: debug
File di registro: logs/external.log
Pattern messaggio: {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* {2}
Logger: org.apache.jackrabbit.oak.spi.security.authentication.external
Gli utenti sincronizzati tramite LDAP possono far parte di diversi gruppi in AEM. Questi gruppi possono essere gruppi LDAP esterni che vengono aggiunti all'AEM come parte del processo di sincronizzazione. Tuttavia, possono anche essere gruppi aggiunti separatamente e non fanno parte dello schema di affiliazione al gruppo LDAP originale.
Di solito, questi gruppi vengono 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 si riflette sul lato AEM durante la sincronizzazione. Tuttavia, tutte le altre affiliazioni di gruppo dell’utente che non sono state aggiunte da LDAP rimangono attive.
L’AEM rileva e gestisce l’eliminazione di utenti da gruppi esterni utilizzando rep:externalId
proprietà. Questa proprietà viene aggiunta automaticamente a qualsiasi utente o gruppo sincronizzato dal gestore di sincronizzazione e contiene informazioni sul provider di identità di origine.
Consulta la documentazione di Apache Oak su Sincronizzazione utenti e gruppi.
Se si prevede di utilizzare LDAP su SSL, assicurarsi che i certificati utilizzati vengano creati senza l'opzione di commento Netscape. Se questa opzione è abilitata, l’autenticazione non riesce e viene restituito un errore di handshake SSL.