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à.

NOTE
Il gestore di autenticazione SAML 2.0 è disabilitato per impostazione predefinita. Imposta almeno una delle seguenti proprietà per abilitare il gestore:
  • L’URL del POST del provider di identità o URL IDP.
  • ID dell'entità del provider di servizi.
NOTE
Le asserzioni SAML sono firmate e possono essere facoltativamente crittografate. Affinché ciò funzioni, devi fornire almeno il certificato pubblico del provider di identità nel TrustStore. Per ulteriori informazioni, vedere Aggiunta del certificato IdP alla sezione TrustStore.

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.

CAUTION
È necessario aggiungere il nome host del provider di identità alla configurazione OSGi Apache Sling Referrer Filter. Per ulteriori informazioni, vedere la sezione Console Web.

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.

NOTE
Questa posizione viene utilizzata solo se il cookie 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 cookie
e 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.

NOTE
L'ID utente non verrà prelevato dal nodo 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.

CAUTION
Se la creazione automatica degli utenti di CRX è disabilitata, gli utenti dovranno essere creati manualmente.

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:

  1. Vai a http:/serveraddress:serverport/libs/granite/security/content/truststore.html

  2. Premi il collegamento Crea TrustStore

  3. Immettere la password per TrustStore e premere Salva.

  4. Fai clic su Gestisci TrustStore.

  5. Carica il certificato IdP.

  6. Prendi nota dell’alias del certificato. L'alias è admin#1436172864930 nell'esempio seguente.

    chlimage_1-372

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

NOTE
I seguenti passaggi sono obbligatori, altrimenti verrà generata la seguente eccezione: com.adobe.granite.keystore.KeyStoreNotInitialisedException: Uninitialised system trust store
  1. Vai a: http://localhost:4502/libs/granite/security/content/useradmin.html
  2. Modifica l'utente authentication-service.
  3. Creare un registro chiavi facendo clic su Crea registro chiavi in Impostazioni account.
NOTE
I passaggi seguenti sono necessari solo se il gestore deve essere in grado di firmare o decrittografare i messaggi.
  1. 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

  2. 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

  3. Caricare il file della chiave privata facendo clic su Seleziona file della chiave privata.

  4. Caricare il file del certificato facendo clic su Seleziona file di portachiavi certificati.

  5. Assegna un alias, come illustrato di seguito:

    chlimage_1-373

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:

  1. Vai alla console Web all'indirizzo http://localhost:4502/system/console/configMgr

  2. Cerca e fai clic sulla voce denominata Configurazione logger registrazione Sling Apache

  3. Crea un logger con la seguente configurazione:

    • Livello registro: debug
    • File di registro: logs/saml.log
    • Logger: com.adobe.granite.auth.saml
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2