Configurazione di LDAP con AEM 6 configuring-ldap-with-aem
LDAP (il L protocollo 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:
- Provider di identità LDAP (IDP).
- Gestore di sincronizzazione.
- Un Modulo Di Accesso Esterno.
Configurazione Del Provider Di Identità LDAP configuring-the-ldap-identity-provider
Il provider di identità LDAP viene utilizzato per definire la modalità di recupero degli utenti dal server LDAP.
È disponibile nella console di gestione con il nome Apache Jackrabbit Oak LDAP Identity Provider.
Per il provider di identità LDAP sono disponibili le seguenti opzioni di configurazione:
Configurazione Del Gestore Di Sincronizzazione configuring-the-synchronization-handler
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 nome Apache Jackrabbit Oak Default Sync Handler nella console di gestione.
Per il gestore di sincronizzazione sono disponibili le seguenti opzioni di configurazione:
Modulo di accesso esterno the-external-login-module
Il modulo di accesso esterno si trova sotto il Modulo di accesso esterno Apache Jackrabbit Oak nella console di gestione.
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:
Configurare LDAP su SSL configure-ldap-over-ssl
AEM 6 può essere configurato per l’autenticazione con LDAP tramite SSL seguendo la procedura seguente:
-
Selezionare le caselle di controllo Usa SSL o Usa TLS durante la configurazione del provider di 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.
Creazione di certificati SSL creating-ssl-certificates
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. Sui sistemi UNIX®, si trova in
/usr/lib/ssl/openssl.cnf
-
Procedi alla creazione della chiave radice CA eseguendo il comando seguente in un terminale:
code language-none 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™.
Abilitazione registrazione debug enabling-debug-logging
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:
- Passa a Web Management Console.
- Trova "Apache Sling Logging Logger Configuration" e crea due logger con le seguenti opzioni:
-
Livello registro: debug
-
File di registro logs/ldap.log
-
Schema 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
-
Schema messaggio: {0,date,
dd.MM.yyyy
HH:mm:ss.SSS
} *{4}* {2} -
Logger: org.apache.jackrabbit.oak.spi.security.authentication.external
Una parola sull'affiliazione di gruppo a-word-on-group-affiliation
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.
AEM rileva e gestisce la rimozione di utenti da gruppi esterni utilizzando la proprietà rep:externalId
. 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 sulla sincronizzazione utenti e gruppi.
Problemi noti known-issues
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.