Comment configurer AD FS en tant que fournisseur d'identité SAML avec un groupe d'utilisateurs Amazon Cognito ?

Dernière mise à jour : 07/02/2019

Je souhaite utiliser AD FS (Active Directory Federation Services) en tant que fournisseur d'identité SAML 2.0 (Security Assertion Markup Language 2.0) avec un groupe d'utilisateurs Amazon Cognito. Comment procéder ?

Brève description

Les groupes d'utilisateurs Amazon Cognito permettent de se connecter par l'intermédiaire d'un tiers (fédération), y compris par le biais d'un IdP SAML tel qu'AD FS. Pour plus d'informations, consultez Ajout de la connexion d'un groupe d'utilisateurs via un tiers et Ajout de fournisseurs d'identité SAML à un groupe d'utilisateurs.

Vous pouvez configurer un domaine de serveur AD FS et un contrôleur de domaine sur une instance Windows Amazon Elastic Compute Cloud (Amazon EC2), puis intégrer cette configuration dans votre pool utilisateur à l'aide de l'interface utilisateur web hébergée par Amazon Cognito.

Important : Pour cette résolution, vous devez être propriétaire d’un nom de domaine. Si vous n’avez pas de domaine, vous pouvez enregistrer un nouveau domaine avec Amazon Route 53 ou un autre service DNS (Domain Name System).

Solution

Création d'un groupe d'utilisateurs Amazon Cognito avec un client d'application

Pour plus d'informations, consultez Didacticiel : création d'un groupe d'utilisateurs et configuration de l'interface utilisateur hébergée avec la console Amazon Cognito.

Remarque : lors de la création d'un groupe d'utilisateurs, l'attribut standarde-mail est sélectionné par défaut. Pour plus d'informations sur les attributs du groupe d'utilisateurs, consultez la section Configuration des attributs du groupe d'utilisateurs.

Configuration d’une instance EC2 Windows

Configurez et lancez une instance EC2 Windows, puis configurez un serveur AD FS et un contrôleur de domaine. Pour plus d'informations, consultez la section Comment configurer AD FS sur une instance Amazon EC2 Windows afin qu'elle prenne en charge la fédération pour un groupe d'utilisateurs Amazon Cognito ?

Configuration de votre serveur AD FS en tant que fournisseur d'identité IdP SAML dans Amazon Cognito

Pour plus d'informations, voir Création et gestion d'un fournisseur d'identité SAML pour un groupe d'utilisateurs (AWS Management Console) et suivez les instructions de la section Configurer un fournisseur d'identité SAML 2.0 dans votre groupe d'utilisateurs.

Lors de la création du fournisseur d'identité SAML, pour Document de métadonnées, collez l'URL de point de terminaison du document de métadonnées ou téléchargez le fichier de métadonnées.xml.

Mappage de l'adresse e-mail de l'attribut IdP sur l'attribut du groupe d'utilisateurs

Pour plus d'informations, consultez la section Spécification des mappages d'attributs de fournisseur d'identité pour votre groupe d'utilisateurs et suivez les instructions sous Spécifier un mappage d'attribut de fournisseur SAML.

Lors de l'ajout d'un attribut SAML, pour Attribut SAML, saisissez http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. Pour Attribut du groupe d'utilisateurs, sélectionnez E-mail dans la liste.

Modification des paramètres du client de l'application dans Amazon Cognito

  1. Dans la page de gestion de la Console Amazon Cognito de votre groupe d'utilisateurs, sous Intégration d'application, sélectionnez Paramètres du client de l'application. Puis procédez comme suit :
    Sous Fournisseurs d’identité activés, sélectionnez la case à cocher correspondant à l’IdP SAML que vous avez configuré. Par exemple, ADFS.
    PourURL(s) de rappel,saisissez une URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après la connexion.
    PourURL(s) de déconnexion, saisissez l’URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après la déconnexion.
    Sous Flux OAuth avancés, sélectionnez les cases à cocher Autoriser le code d’autorisation et Autorisation implicite.
    Sous Portée des données OAuth autorisées, sélectionnez toutes les cases à cocher.
  2. Sélectionnez Enregistrer les modifications. Pour davantage d'informations, consultez la section Terminologie des paramètres du client d'application.

Testez votre configuration en utilisant l'interface web hébergée Amazon Cognito

  1. Saisissez cette URL dans votre navigateur web :
    https://domainNamePrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=appClientId&redirect_uri=https://www.example.com

    Remarque :
    pour l'URL, utilisez les valeurs de votre groupe d'utilisateurs et de votre client d'application. Trouvez le domaine (notamment le préfixe de nom de domaine et la région AWS) de votre groupe d’utilisateurs dans la console Amazon Cognito sur la page Intégration d’application. Trouvez l’ID client d’application dans Paramètres client d’application. Remplacez https://www.example.com par l’URL de rappel de votre IdP SAML.
  2. Sélectionnez le nom de l’IdP SAML que vous avez configuré. Vous êtes redirigé vers la page d’authentification AD FS.
  3. Sous Connectez-vous avec votre compte d’organisation, saisissez le nom d’utilisateur et le mot de passe de votre utilisateur Active Directory.
  4. Sélectionnez Connexion. Si la connexion a réussi, Amazon Cognito renvoie des jetons de groupe d'utilisateurs et une réponse SAML réussie. Pour plus d'informations sur l'affichage de réponse SAML, voir Comment afficher une réponse SAML dans votre navigateur pour le dépannage.
    Remarque :
    une fois décodée, la réponse SAML doit inclure l'attribut NameID requis.