Gestore di autenticazione SAML 2.0 saml-authentication-handler
AEM viene fornito con un gestore di autenticazione SAML. Questo gestore supporta il protocollo di richiesta di autenticazione SAML 2.0 (profilo Web-SSO) utilizzando l'associazione HTTP POST
.
Supporta:
- firma e crittografia dei messaggi
- creazione automatica di utenti
- sincronizzazione dei gruppi con quelli esistenti nell’AEM
- Autenticazione avviata dal provider di servizi e dal provider di identità
Questo gestore archivia il messaggio di risposta SAML crittografato nel nodo utente ( usernode/samlResponse
) per facilitare la comunicazione con un provider di servizi di terze parti.
Configurazione del gestore di autenticazione SAML 2.0 configuring-the-saml-authentication-handler
La console Web fornisce l'accesso alla configurazione del gestore di autenticazione SAML 2.0 denominata Gestore di autenticazione SAML 2.0 Adobe Granite. È possibile impostare le seguenti proprietà.
- L’URL del POST del provider di identità o URL IDP.
- ID dell'entità del provider di servizi.
Percorso Percorso dell'archivio per il quale Sling deve utilizzare questo gestore di autenticazione. Se è vuoto, il gestore di autenticazione verrà disabilitato.
Classifica dei servizi Valore della classificazione dei servizi del framework OSGi per indicare l'ordine in cui chiamare il servizio. Si tratta di un valore intero in cui i valori più alti indicano una precedenza maggiore.
Alias certificato IDP Alias del certificato IdP nel truststore globale. Se questa proprietà è vuota, il gestore di autenticazione è disabilitato. Consulta il capitolo "Aggiungere il certificato IdP al TrustStore AEM" di seguito per informazioni su come configurarlo.
URL IDP dell'IDP a cui deve essere inviata la richiesta di autenticazione SAML. Se questa proprietà è vuota, il gestore di autenticazione è disabilitato.
ID entità provider di servizi che identifica in modo univoco il provider di servizi con il provider di identità. Se questa proprietà è vuota, il gestore di autenticazione è disabilitato.
Reindirizzamento predefinito Percorso predefinito a cui reindirizzare dopo l'autenticazione.
request-path
non è impostato. Se richiedi una pagina sotto il percorso configurato senza un token di accesso valido, il percorso richiesto viene memorizzato in un cookiee il browser verrà reindirizzato nuovamente a questa posizione dopo la corretta autenticazione.
Attributo ID utente Il nome dell'attributo contenente l'ID utente utilizzato per autenticare e creare l'utente nel repository di CRX.
saml:Subject
dell'asserzione SAML, ma da questo saml:Attribute
.Usa crittografia Indica se il gestore di autenticazione prevede o meno asserzioni SAML crittografate.
Creazione automatica utenti CRX Indica se creare automaticamente gli utenti non esistenti nel repository dopo l'autenticazione riuscita.
Aggiungi ai gruppi Indica se un utente deve essere aggiunto automaticamente ai gruppi di CRX dopo l'autenticazione riuscita.
Appartenenza al gruppo Il nome dell'attributo saml:Attribute contenente un elenco di gruppi CRX a cui deve essere aggiunto l'utente.
Aggiungi il certificato IdP al TrustStore AEM add-the-idp-certificate-to-the-aem-truststore
Le asserzioni SAML sono firmate e possono essere facoltativamente crittografate. Affinché questo funzioni, devi fornire almeno il certificato pubblico dell'IdP nell'archivio. A questo scopo, devi:
-
Vai a http:/serveraddress:serverport/libs/granite/security/content/truststore.html
-
Premi il collegamento Crea TrustStore
-
Immettere la password per TrustStore e premere Salva.
-
Fai clic su Gestisci TrustStore.
-
Carica il certificato IdP.
-
Prendi nota dell’alias del certificato. L'alias è admin#1436172864930 nell'esempio seguente.
Aggiungere la chiave del provider di servizi e la catena di certificati al keystore AEM add-the-service-provider-key-and-certificate-chain-to-the-aem-keystore
com.adobe.granite.keystore.KeyStoreNotInitialisedException: Uninitialised system trust store
- Vai a: http://localhost:4502/libs/granite/security/content/useradmin.html
- Modifica l'utente
authentication-service
. - Creare un registro chiavi facendo clic su Crea registro chiavi in Impostazioni account.
-
Crea il certificato/coppia di chiavi per AEM. Il comando per generarlo tramite openssl deve essere simile all'esempio seguente:
openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out certificate.crt -keyout key.pem
-
Converti la chiave nel formato PKCS#8 con codifica DER. Questo è il formato richiesto dal keystore AEM.
openssl pkcs8 -topk8 -inform PEM -outform DER -in key.pem -out key.der -nocrypt
-
Caricare il file della chiave privata facendo clic su Seleziona file della chiave privata.
-
Caricare il file del certificato facendo clic su Seleziona file di portachiavi certificati.
-
Assegna un alias, come illustrato di seguito:
Configurare un logger per SAML configure-a-logger-for-saml
È possibile impostare un logger per eseguire il debug di eventuali problemi derivanti da una configurazione non corretta di SAML. Per farlo, segui questi passaggi:
-
Vai alla console Web all'indirizzo http://localhost:4502/system/console/configMgr
-
Cerca e fai clic sulla voce denominata Configurazione logger registrazione Sling Apache
-
Crea un logger con la seguente configurazione:
- Livello registro: debug
- File di registro: logs/saml.log
- Logger: com.adobe.granite.auth.saml