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

Date de la 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 via un tiers (fédération), y compris par le biais d'un fournisseur d'identité (IdP) SAML tel que AD FS. Pour plus d'informations, consultez les sections 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 serveur AD FS et un contrôleur de domaine sur une instance Windows Amazon Elastic Compute Cloud (Amazon EC2), puis intégrer votre configuration à votre groupe d'utilisateurs à l'aide de l'interface utilisateur Web hébergée d'Amazon Cognito.

Important : pour cette résolution, un nom de domaine dont vous êtes le propriétaire est nécessaire. Si vous ne possédez pas de domaine, vous pouvez enregistrer un nouveau domaine avec Amazon Route 53 ou un autre service DNS (Système de nom de domaine).

Résolution

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

Pour plus d'informations, consultez les sections Didacticiel : Création d'un groupe d'utilisateurs et Ajout d'un client d'application (AWS Management Console).

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

Configurer une instance EC2 Windows

Configurez et lancez une instance EC2 Windows, puis configurez un serveur AD FS et le contrôleur de domaine sur celui-ci. 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 ?

Configurer votre serveur AD FS en tant que fournisseur d'identité (IdP) SAML dans Amazon Cognito

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

Une fois le fournisseur d’identité SAML créé, collez l'URL de point de terminaison d'un document de métadonnées dans le champ Metadata Document, ou chargez le fichier .xml de métadonnées.

Mapper l'adresse e-mail fournie par le fournisseur d'identité à l'attribut du groupe d'utilisateurs

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

Lorsque vous ajoutez un attribut SAML, saisissez http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress dans le champ Attribut de la SAML. Pour Attribut du groupe d’utilisateurs, sélectionnez E-mail dans la liste.

Modifier les paramètres du client d'application dans Amazon Cognito

  1. Dans la page de gestion de la console Amazon Cognito pour votre groupe d'utilisateurs, sous Intégration d'application, sélectionnez Paramètres du client d'application. Procédez ensuite de la façon suivante :
    Sous Fournisseurs d'identité activés, cochez la case du fournisseur d'identité SAML que vous avez configuré. Par exemple, ADFS.
    Pour URL de rappel, saisissez une URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après s'être connectés.
    Pour URL de déconnexion, saisissez une URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après s'être déconnectés.
    Sous Flux OAuth autorisés, cochez les cases Authorization code grant (Octroi du code d'autorisation) et Implicit Grant (Autorisation implicite).
    Sous Règles OAuth autorisées, cochez toutes les cases.
  2. Choisissez Enregistrer les modifications. Pour plus d'informations, consultez la section Présentation des paramètres du client d'application.

Tester votre configuration à l'aide de l'interface utilisateur 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 du client d'application. Recherchez le domaine (y compris la région AWS et le préfixe du nom de domaine) pour votre groupe d'utilisateurs dans la console Amazon Cognito sur la page Intégration d'application. Recherchez l'ID client d'application dans Paramètres du client d'application. Remplacez https://www.example.com par l'URL de rappel pour votre fournisseur d'identité SAML.
  2. Sélectionnez le nom du fournisseur d'identité SAML que vous avez configuré. Vous êtes alors redirigé vers la page d'authentification AD FS.
  3. Sous Sign in with your organizational account (Connexion avec votre compte de l'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 la réponse SAML, consultez la section Comment afficher une réponse SAML dans votre navigateur pour la résolution de problèmes.
    Remarque :
    une fois décodée, la réponse SAML doit inclure l'attribut NameID requis.