Gestionnaire d’authentification SAML 2.0 saml-authentication-handler
AEM est livré avec un gestionnaire d’authentification SAML. Ce gestionnaire prend en charge le protocole de demande 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 configuring-the-saml-authentication-handler
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.
- URL POST du fournisseur d’identité ou URL du fournisseur d’identité.
- Identifiant d’entité du fournisseur.
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é. Consultez le chapitre « Ajouter le certificat de fournisseur d’identité au TrustStore d’AEM » ci-dessous pour savoir comment 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é.
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.
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 cookieet 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.
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.
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é.
Ajouter le certificat de fournisseur d’identité au TrustStore d’AEM add-the-idp-certificate-to-the-aem-truststore
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 effectuer les opérations suivantes :
-
Accédez à http:/serveraddress:serverport/libs/granite/security/content/truststore.html.
-
Appuyez sur Créer un lien TrustStore.
-
Saisissez le mot de passe du TrustStore, puis appuyez sur Enregistrer.
-
Cliquez sur Gérer le TrustStore.
-
Chargez le certificat de fournisseur d’identité.
-
Notez l’alias du certificat. L’alias est admin#1436172864930 dans l’exemple ci-dessous.
Ajoutez la clé de fournisseur et la chaîne de certificats au KeyStore AEM. add-the-service-provider-key-and-certificate-chain-to-the-aem-keystore
com.adobe.granite.keystore.KeyStoreNotInitialisedException: Uninitialised system trust store
.- Accédez à http://localhost:4502/libs/granite/security/content/useradmin.html.
- Modifiez l’utilisateur
authentication-service
. - Créez un KeyStore en cliquant sur Créer le KeyStore sous Paramètres du compte.
-
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
-
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
-
Téléchargez le fichier de clé privée en cliquant sur Sélectionner le fichier de clé privée.
-
Chargez le fichier de certificat en cliquant sur Sélectionner les fichiers de chaîne de certificats.
-
Attribuez un alias, comme illustré ci-dessous :
Configurer un journal pour SAML configure-a-logger-for-saml
Vous pouvez configurer un journal 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 :
-
Accédez à la console web à l’adresse http://localhost:4502/system/console/configMgr.
-
Recherchez l’entrée nommée Configuration du journal de connexion Sling Apache et cliquez dessus.
-
Créez un journal avec la configuration suivante :
- Niveau de journal : débogage
- Fichier journal : logs/saml.log
- Journal : com.adobe.granite.auth.saml