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 :
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.
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.
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 :
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é.
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.
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.
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.
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é.
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 :
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 et appuyez sur Enregistrer.
Cliquez sur Gérer TrustStore.
Téléchargez le certificat IdP.
Notez l’alias du certificat. L’alias est admin#1436172864930 dans l’exemple ci-dessous.
Les étapes ci-dessous sont obligatoires, sinon l’exception suivante sera générée : com.adobe.granite.keystore.KeyStoreNotInitialisedException: Uninitialised system trust store
.
authentication-service
.Les étapes suivantes ne sont nécessaires que si le gestionnaire doit pouvoir signer ou déchiffrer des messages.
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.
Téléchargez le fichier de certificat en cliquant sur Sélectionner les fichiers de la chaîne de certificats.
Attribuez un alias, comme illustré ci-dessous :
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 :
Accédez à la console web à l’adresse http://localhost:4502/system/console/configMgr.
Recherchez et cliquez sur l’entrée nommée Configuration de l’enregistreur de connexion Sling Apache et cliquez dessus.
Créez un enregistreur avec la configuration suivante :