Gestionnaire d’authentification SAML 2.0

AEM est livré avec un gestionnaire d’authentification SAML. Ce gestionnaire fournit la prise en charge du protocole de requête d’authentification SAML 2.0 (profil Web-SSO) à l’aide de la liaison HTTP POST.

Il prend en charge :

  • la signature et le chiffrement des messages ;
  • la création automatique d’utilisateurs ;
  • la synchronisation des groupes avec les groupes existants dans AEM.
  • Authentification initiée par le fournisseur et le fournisseur d’identité

Ce gestionnaire stocke le message de réponse SAML chiffré dans le nœud utilisateur (usernode/samlResponse) pour faciliter la communication avec un fournisseur tiers.

Configurer le gestionnaire d’authentification SAML 2.0

La console web permet d’accéder à la configuration de gestionnaire d’authentification SAML 2.0 appelée Gestionnaire d’authentification SAML 2.0 Adobe Granite. Les propriétés suivantes peuvent être définies.

REMARQUE

Le gestionnaire d’authentification SAML 2.0 est désactivé par défaut. Vous devez définir au moins une des propriétés suivantes pour activer le gestionnaire :

  • URL POST du fournisseur d’identité ou URL du fournisseur d’identité.
  • L’ID d’entité du fournisseur.
REMARQUE

Les assertions SAML sont signées et peuvent éventuellement être chiffrées. Pour que cela fonctionne, vous devez fournir au moins le certificat public du fournisseur d’identité dans TrustStore. Consultez la section Ajout de certificat IdP à TrustStore pour plus d’informations.

Chemin Chemin du référentiel pour lequel ce gestionnaire d’authentification doit être utilisé par Sling. Si le champ est vide, le gestionnaire d’authentification est désactivé.

Classements des services Valeur de classement de service de structure OSGi pour indiquer l’ordre dans lequel appeler ce service. Il s’agit d’un nombre entier, et les valeurs les plus élevées indiquent une priorité plus élevée.

Alias de certificat IDP L’alias du certificat IdP dans le TrustStore global. Si cette propriété n’est pas renseignée, le gestionnaire d’authentification est désactivé. Voir le chapitre Ajout du certificat IdP au TrustStore AEM ci-dessous sur la façon de le configurer.

URL du fournisseur d’identité : URL du fournisseur d’identité où la requête d’authentification SAML doit être envoyée. Si cette propriété n’est pas renseignée, le gestionnaire d’authentification est désactivé.

ATTENTION

Le nom d’hôte du fournisseur d’identité doit être ajouté à la configuration OSGi Filtre de référents Sling Apache. Consultez la section Console web pour plus d’informations.

ID d’entité du fournisseur de services Identifiant qui identifie de manière unique ce fournisseur de services auprès du fournisseur d’identité. Si cette propriété n’est pas renseignée, le gestionnaire d’authentification est désactivé.

Redirection Par défaut Emplacement par défaut de redirection après une authentification réussie.

REMARQUE

Cet emplacement est utilisé uniquement si le cookie request-path n’est pas défini. Si vous demandez une page sous le chemin configuré sans jeton de connexion valide, le chemin demandé est stocké dans un cookie
et le navigateur sera redirigé vers cet emplacement après une authentification réussie.

Attribut ID de l’utilisateur Nom de l’attribut contenant l’ID utilisateur utilisé pour authentifier et créer l’utilisateur dans le référentiel CRX.

REMARQUE

L’ID utilisateur n’est pas obtenu à partir du nœud saml:Subject de l’assertion SAML, mais à partir de ce saml:Attribute.

Utilisation du chiffrage Si ce gestionnaire d’authentification attend ou non des assertions SAML chiffrées.

Autocréation d’utilisateurs CRX Créer automatiquement ou non les utilisateurs non existants dans le référentiel après une authentification réussie.

ATTENTION

Si la création automatique des utilisateurs CRX est désactivée, les utilisateurs doivent être créés manuellement.

Ajouter aux groupes Si un utilisateur doit ou non être automatiquement ajouté aux groupes CRX après une authentification réussie.

Appartenance à un groupe Nom du saml:Attribute contenant une liste de groupes CRX auxquels cet utilisateur doit être ajouté.

Ajout du certificat IdP au TrustStore AEM

Les assertions SAML sont signées et peuvent éventuellement être chiffrées. Pour que cela fonctionne, vous devez fournir au moins le certificat public de l’IdP dans le référentiel. Pour ce faire, vous devez :

  1. Accédez à http:/serveraddress:serverport/libs/granite/security/content/truststore.html.

  2. Appuyez sur Créer un lien TrustStore.

  3. Saisissez le mot de passe du TrustStore et appuyez sur Enregistrer.

  4. Cliquez sur Gérer TrustStore.

  5. Téléchargez le certificat IdP.

  6. Notez l’alias du certificat. L’alias est admin#1436172864930 dans l’exemple ci-dessous.

    chlimage_1-372

Ajoutez la clé de fournisseur et la chaîne de certificats au KeyStore AEM.

REMARQUE

Les étapes ci-dessous sont obligatoires, sinon l’exception suivante sera générée : com.adobe.granite.keystore.KeyStoreNotInitialisedException: Uninitialised system trust store.

  1. Accédez à http://localhost:4502/libs/granite/security/content/useradmin.html.
  2. Modifiez l’utilisateur authentication-service.
  3. Créez un KeyStore en cliquant sur Créer le KeyStore sous Paramètres du compte.
REMARQUE

Les étapes suivantes ne sont nécessaires que si le gestionnaire doit pouvoir signer ou déchiffrer des messages.

  1. Créez le certificat/la paire de clés pour AEM. La commande pour les générer via openssl doit ressembler à l’exemple ci-dessous :

    openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out certificate.crt -keyout key.pem

  2. Convertissez la clé au format PKCS#8 avec le codage DER. Il s’agit du format requis par le KeyStore AEM.

    openssl pkcs8 -topk8 -inform PEM -outform DER -in key.pem -out key.der -nocrypt

  3. Téléchargez le fichier de clé privée en cliquant sur Sélectionner le fichier de clé privée.

  4. Téléchargez le fichier de certificat en cliquant sur Sélectionner les fichiers de la chaîne de certificats.

  5. Attribuez un alias, comme illustré ci-dessous :

    chlimage_1-373

Configuration d’un enregistreur pour SAML

Vous pouvez configurer un enregistreur afin de déboguer tous les problèmes pouvant résulter d’une mauvaise configuration de SAML. Vous pouvez le faire en procédant comme suit :

  1. Accédez à la console web à l’adresse http://localhost:4502/system/console/configMgr.

  2. Recherchez et cliquez sur l’entrée nommée Configuration de l’enregistreur de connexion Sling Apache et cliquez dessus.

  3. Créez un enregistreur avec la configuration suivante :

    • Niveau de consignation : débogage
    • Fichier journal : logs/saml.log
    • Enregistreur : com.adobe.granite.auth.saml

Sur cette page