Lancement de session SAML dans les groupes d'utilisateurs Amazon Cognito - Amazon Cognito

Lancement de session SAML dans les groupes d'utilisateurs Amazon Cognito

Amazon Cognito prend en charge l'authentification unique (SSO) initiée par un fournisseur de services. La section 5.1.2 de la Présentation technique de SAML V2.0 décrit l'authentification unique initiée par le fournisseur de services. Amazon Cognito est le fournisseur d'identité de votre application. L'application est le fournisseur de services qui récupère les jetons pour les utilisateurs authentifiés. Toutefois, quand vous utilisez un fournisseur d'identité tiers pour authentifier les utilisateurs, Amazon Cognito est le fournisseur de services. Les utilisateurs Amazon Cognito qui s'authentifient auprès d'un fournisseur d'identité SAML doivent toujours d'abord faire une demande à Amazon Cognito et rediriger vers le fournisseur d'identité pour l'authentification.

Pour certains cas d'utilisation d'entreprise, l'accès aux applications internes commence à un signet sur un tableau de bord hébergé par le fournisseur d'identité de l'entreprise. Lorsqu'un utilisateur sélectionne un signet, le fournisseur d'identité génère une réponse SAML et l'envoie au fournisseur de services pour authentifier l'utilisateur auprès de l'application.

Amazon Cognito ne prend pas en charge l'authentification unique initiée par le fournisseur d'identité. Amazon Cognito ne peut pas vérifier qu'il a sollicité la réponse SAML reçue à moins qu'Amazon Cognito ne lance l'authentification avec une demande SAML.

Marquer d'un signet les applications Amazon Cognito dans un tableau de bord d'entreprise

Vous pouvez créer des signets dans les tableaux de bord des fournisseurs d'identité SAML ou OIDC, qui fournissent un accès SSO aux applications web qui s'authentifient auprès des groupes d'utilisateurs Amazon Cognito. Vous pouvez créer un lien vers Amazon Cognito de manière à ne pas obliger les utilisateurs à se connecter à l'interface utilisateur hébergée. Pour ce faire, créez un lien de signet vers le Point de terminaison AUTORISATION de votre groupe d'utilisateurs Amazon Cognito à partir du modèle suivant :

https://your_Amazon_Cognito_userpool_domain/authorize?response_type=code&identity_provider=your-SAML-IdP-name&client_id=your-client-id&redirect_uri=https://your_application_redirect_url

Note

Vous pouvez également utiliser un paramètre idp_identifier au lieu d'un paramètre identity_provider dans votre demande au point de terminaison d'autorisation. Un identifiant IdP est un autre nom que vous pouvez configurer lorsque vous créez un fournisseur d'identité dans votre groupe d'utilisateurs. Voir Choix de noms de fournisseur d'identité SAML.

Lorsque vous utilisez les paramètres appropriés dans votre demande pour /authorize, Amazon Cognito démarre silencieusement le flux de connexion initié par le fournisseur de services et redirige votre utilisateur pour qu'il se connecte auprès de votre fournisseur d'identité.

Le diagramme suivant montre un flux d'authentification qui émule l'authentification unique initiée par le fournisseur d'identité. Vos utilisateurs peuvent s'authentifier auprès d'Amazon Cognito à partir d'un lien sur le portail de votre entreprise.


                    Connexion SAML Amazon Cognito qui commence dans un tableau de bord d'applications d'entreprise.

Chargez ou liez un document de métadonnées à partir de votre fournisseur pour ajouter un fournisseur d'identité SAML dans votre groupe d'utilisateurs. Créez un client d'application qui utilise votre fournisseur d'identité SAML pour se connecter et qui possède l'URL de votre application en tant qu'URL de rappel autorisée. Pour plus d'informations sur les clients d'application, consultez Configuration d'un client d'application pour un groupe d'utilisateurs..

Avant d'essayer d'utiliser cette solution pour vous authentifier auprès de votre application, testez la connexion initiée par le fournisseur de services à votre application à partir de votre interface utilisateur hébergée. Pour plus d'informations sur la configuration d'un fournisseur d'identité SAML dans Amazon Cognito, consultez Intégration de fournisseurs d'identité SAML tiers avec des groupes d'utilisateurs Amazon Cognito.

Une fois que vous avez satisfait à ces exigences, créez un signet pour accéder à votre point de terminaison /authorize qui inclut un paramètre identity_provider ou idp_identifier. Le schéma précédent illustre le processus qui suit.

  1. Votre utilisateur se connecte au tableau de bord du fournisseur d'identité SSO. Les applications d'entreprise auxquelles l'utilisateur est autorisé à accéder remplissent ce tableau de bord.

  2. Votre utilisateur choisit le lien vers l'application qui s'authentifie auprès d'Amazon Cognito. Dans de nombreux portails SSO, vous pouvez ajouter un lien d'application personnalisé. Toute fonctionnalité que vous pouvez utiliser pour créer un lien vers une URL publique dans votre portail SSO fonctionnera.

  3. Votre lien d'application personnalisé dans le portail SSO dirige l'utilisateur vers le Point de terminaison AUTORISATION du groupe d'utilisateurs. Ce lien inclut des paramètres pour response_type, client_id, redirect_uri et identity_provider. Le paramètre identity_provider est le nom que vous avez attribué au fournisseur d'identité dans votre groupe d'utilisateurs. Vous pouvez également utiliser un paramètre idp_identifier à la place du paramètre identity_provider. Un utilisateur accède à votre interface utilisateur hébergée à partir d'un lien qui contient un paramètre idp_identifier ou identity_provider. Cet utilisateur contourne la page de connexion et navigue directement pour s'authentifier auprès de votre fournisseur d'identité. Pour plus d'informations sur l'attribution de noms à des fournisseurs d'identité SAML, consultez Choix de noms de fournisseur d'identité SAML.

    Exemple d'URL :

    https://your_Amazon_Cognito_userpool_domain/authorize?response_type=code&identity_provider=your-SAML-IdP-name&client_id=your-client-id&redirect_uri=https://your_application_redirect_url

  4. Amazon Cognito redirige la session utilisateur vers votre fournisseur d'identité avec une demande SAML.

  5. Votre utilisateur a peut-être reçu un cookie de session de votre fournisseur d'identité lorsqu'il s'est connecté au tableau de bord. Votre fournisseur d'identité utilise ce cookie pour valider l'utilisateur en silence et le rediriger vers le point de terminaison idpresponse Amazon Cognito avec une réponse SAML. Si aucune session active n'existe, votre fournisseur d'identité authentifie à nouveau l'utilisateur avant de publier la réponse SAML.

  6. Amazon Cognito valide la réponse SAML et crée ou met à jour le profil utilisateur en fonction de l'assertion SAML.

  7. Amazon Cognito redirige l'utilisateur vers votre application interne avec un code d'autorisation. Vous avez configuré l'URL de votre application interne en tant qu'URL de redirection autorisée pour votre client d'application.

  8. Votre application échange le code d'autorisation contre des jetons Amazon Cognito.