Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Lancement de séance SAML dans les groupes d'utilisateurs Amazon Cognito

Mode de mise au point
Lancement de séance SAML dans les groupes d'utilisateurs Amazon Cognito - Amazon Cognito

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Amazon Cognito prend en charge l'authentification unique (SSO) initiée par le fournisseur de services (initiée par le fournisseur de services) et l'authentification unique initiée par l'IdP. En tant que meilleure pratique de sécurité, implémentez le SSO initié par le SP dans votre groupe d'utilisateurs. 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. Lorsque vos utilisateurs SAML 2.0 s'authentifient via un flux initié par le SP, ils doivent toujours d'abord envoyer une demande à Amazon Cognito et être redirigés vers l'IdP pour s'authentifier.

Pour certains cas d'utilisation d'entreprise, l'accès aux applications internes commence à un marque-page sur un tableau de bord hébergé par le fournisseur d'identité de l'entreprise. Lorsqu'un utilisateur sélectionne un marque-page, 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.

Vous pouvez configurer un IdP SAML dans votre groupe d'utilisateurs pour prendre en charge le SSO initié par l'IdP. Lorsque vous prenez en charge l'authentification initiée par l'IdP, Amazon Cognito ne peut pas vérifier qu'il a sollicité la réponse SAML qu'il reçoit, car Amazon Cognito n'initie pas l'authentification par le biais d'une demande SAML. Dans le SSO initié par SP, Amazon Cognito définit des paramètres d'état qui valident une réponse SAML par rapport à la demande d'origine. Avec la connexion initiée par le SP, vous pouvez également vous prémunir contre la falsification de requêtes intersites (CSRF).

Utilisation de la connexion SAML initiée par le SP

La meilleure pratique consiste à implémenter une connexion service-provider-initiated (initiée par le SP) à votre groupe d'utilisateurs. Amazon Cognito lance la session de votre utilisateur et le redirige vers votre IdP. Avec cette méthode, vous avez le meilleur contrôle sur les personnes qui présentent les demandes de connexion. Vous pouvez également autoriser la connexion initiée par l'IdP sous certaines conditions.

Le processus suivant montre comment les utilisateurs effectuent une connexion initiée par le SP à votre groupe d'utilisateurs via un fournisseur SAML.

Schéma du flux d'authentification de la connexion SAML initiée par Amazon Cognito SP.
  1. Votre utilisateur saisit son adresse e-mail sur une page de connexion. Pour déterminer la redirection de votre utilisateur vers son IdP, vous pouvez collecter son adresse e-mail dans une application personnalisée ou appeler une connexion gérée en mode Web. Vous pouvez configurer vos pages de connexion gérées pour afficher une liste d'adresses e-mail IdPs ou pour ne demander qu'une adresse e-mail.

  2. Votre application appelle le point de terminaison de redirection de votre groupe d'utilisateurs et demande une session avec l'ID client correspondant à l'application et l'identifiant IdP correspondant à l'utilisateur.

  3. Amazon Cognito redirige votre utilisateur vers l'IdP avec une demande SAML, éventuellement signée, dans un élément. AuthnRequest

  4. L'IdP authentifie l'utilisateur de manière interactive ou à l'aide d'une session mémorisée dans un cookie de navigateur.

  5. L'IdP redirige votre utilisateur vers le point de terminaison de réponse SAML de votre groupe d'utilisateurs avec l'assertion SAML éventuellement cryptée dans sa charge utile POST.

    Note

    Amazon Cognito annule les sessions qui ne reçoivent pas de réponse dans les 5 minutes et redirige l'utilisateur vers une connexion gérée. Lorsque votre utilisateur rencontre ce résultat, il reçoit un message Something went wrong d'erreur.

  6. Après avoir vérifié l'assertion SAML et mappé les attributs utilisateur à partir des demandes figurant dans la réponse, Amazon Cognito crée ou met à jour en interne le profil de l'utilisateur dans le groupe d'utilisateurs. Généralement, votre groupe d'utilisateurs renvoie un code d'autorisation à la session de navigation de l'utilisateur.

  7. Votre utilisateur présente son code d'autorisation à votre application, qui échange le code contre des jetons Web JSON (JWTs).

  8. Votre application accepte et traite le jeton d'identification de votre utilisateur comme authentification, génère des demandes autorisées aux ressources avec leur jeton d'accès et stocke leur jeton d'actualisation.

Lorsqu'un utilisateur s'authentifie et reçoit un code d'autorisation octroyé, le groupe d'utilisateurs renvoie des jetons d'identification, d'accès et d'actualisation. Le jeton d'identification est un objet d'authentification pour la gestion des identités basée sur l'OIDC. Le jeton d'accès est un objet d'autorisation de portée OAuth 2.0. Le jeton d'actualisation est un objet qui génère un nouvel identifiant et des jetons d'accès lorsque les jetons actuels de votre utilisateur ont expiré. Vous pouvez configurer la durée des jetons des utilisateurs dans le client d'application de votre groupe d'utilisateurs.

Vous pouvez également choisir la durée des jetons d'actualisation. Une fois le jeton d'actualisation d'un utilisateur expiré, celui-ci doit se reconnecter. S'ils se sont authentifiés via un IdP SAML, la durée de session de vos utilisateurs est définie par l'expiration de leurs jetons, et non par l'expiration de leur session avec leur IdP. Votre application doit stocker le jeton d'actualisation de chaque utilisateur et renouveler sa session à son expiration. La connexion gérée conserve les sessions utilisateur dans un cookie de navigateur valide pendant 1 heure.

Utilisation de la connexion SAML initiée par l'IdP

Lorsque vous configurez votre fournisseur d'identité pour la connexion SAML 2.0 initiée par l'IDP, vous pouvez présenter des assertions SAML au point de saml2/idpresponse terminaison du domaine de votre groupe d'utilisateurs sans avoir à lancer la session au. Point de terminaison d’autorisation Un groupe d'utilisateurs doté de cette configuration accepte les assertions SAML initiées par l'IdP provenant d'un fournisseur d'identité externe du groupe d'utilisateurs pris en charge par le client d'application demandé. Les étapes suivantes décrivent le processus global de configuration et de connexion à un fournisseur SAML 2.0 initié par un IdP.

  1. Créez ou désignez un groupe d'utilisateurs et un client d'application.

  2. Créez un IdP SAML 2.0 dans votre groupe d'utilisateurs.

  3. Configurez votre IdP pour prendre en charge l'initiation de l'IdP. Le protocole SAML initié par l'IDP introduit des considérations de sécurité auxquelles les autres fournisseurs de SSO ne sont pas soumis. Pour cette raison, vous ne pouvez pas ajouter de contenu non SAML IdPs, y compris le groupe d'utilisateurs lui-même, à un client d'application qui utilise un fournisseur SAML avec une connexion initiée par l'IdP.

  4. Associez votre fournisseur SAML initié par l'IdP à un client d'application de votre groupe d'utilisateurs.

  5. Dirigez votre utilisateur vers la page de connexion de votre IdP SAML et récupérez une assertion SAML.

  6. Dirigez votre utilisateur vers le point de saml2/idpresponse terminaison de votre groupe d'utilisateurs à l'aide de son assertion SAML.

  7. Recevez des jetons Web JSON (JWTs).

Pour accepter des assertions SAML non sollicitées dans votre groupe d'utilisateurs, vous devez tenir compte de leur effet sur la sécurité de votre application. L'usurpation de demande et les tentatives de CSRF sont probables lorsque vous acceptez des demandes initiées par l'IdP. Bien que votre groupe d'utilisateurs ne puisse pas vérifier une session de connexion initiée par un IdP, Amazon Cognito valide les paramètres de votre demande et vos assertions SAML.

De plus, votre assertion SAML ne doit pas contenir de InResponseTo réclamation et doit avoir été émise dans les 6 minutes précédentes.

Vous devez envoyer des demandes avec le protocole SAML initié par l'IdP à votre. /saml2/idpresponse Pour les demandes d'autorisation de connexion initiées et gérées par le SP, vous devez fournir des paramètres identifiant le client d'application demandé, les champs d'application, l'URI de redirection et d'autres informations sous forme de paramètres de chaîne de requête dans HTTP GET les demandes. Toutefois, pour les assertions SAML initiées par l'IdP, les détails de votre demande doivent être formatés en tant que RelayState paramètre dans le corps de la demande. HTTP POST Le corps de la demande doit également contenir votre assertion SAML en tant que SAMLResponse paramètre.

Voici un exemple de demande pour un fournisseur SAML initié par un IdP.

POST /saml2/idpresponse HTTP/1.1 User-Agent: USER_AGENT Accept: */* Host: example.auth.us-east-1.amazoncognito.com Content-Type: application/x-www-form-urlencoded SAMLResponse=[Base64-encoded SAML assertion]&RelayState=identity_provider%3DMySAMLIdP%26client_id%3D1example23456789%26redirect_uri%3Dhttps%3A%2F%2Fwww.example.com%26response_type%3Dcode%26scope%3Demail%2Bopenid%2Bphone HTTP/1.1 302 Found Date: Wed, 06 Dec 2023 00:15:29 GMT Content-Length: 0 x-amz-cognito-request-id: 8aba6eb5-fb54-4bc6-9368-c3878434f0fb Location: https://www.example.com?code=[Authorization code]
AWS Management Console
Pour configurer un IdP pour le SAML initié par l'IdP
  1. Créez un groupe d'utilisateurs, un client d'application et un fournisseur d'identité SAML.

  2. Dissociez tous les fournisseurs d'identité sociaux et OIDC de votre client d'application, le cas échéant.

  3. Accédez au menu des fournisseurs sociaux et externes de votre groupe d'utilisateurs.

  4. Modifiez ou ajoutez un fournisseur SAML.

  5. Sous Connexion SAML initiée par l'IdP, choisissez Accepter les assertions SAML initiées par le SP et initiées par l'IdP.

  6. Sélectionnez Enregistrer les modifications.

API/CLI

Pour configurer un IdP pour le SAML initié par l'IdP

Configurez le SAML initié par l'IdP avec le IDPInit paramètre dans une demande d'API CreateIdentityProviderou UpdateIdentityProviderd'API. Voici un exemple d'IdP qui prend ProviderDetails en charge le SAML initié par l'IdP.

"ProviderDetails": { "MetadataURL" : "https://myidp.example.com/saml/metadata", "IDPSignout" : "true", "RequestSigningAlgorithm" : "rsa-sha256", "EncryptedResponses" : "true", "IDPInit" : "true" }
Pour configurer un IdP pour le SAML initié par l'IdP
  1. Créez un groupe d'utilisateurs, un client d'application et un fournisseur d'identité SAML.

  2. Dissociez tous les fournisseurs d'identité sociaux et OIDC de votre client d'application, le cas échéant.

  3. Accédez au menu des fournisseurs sociaux et externes de votre groupe d'utilisateurs.

  4. Modifiez ou ajoutez un fournisseur SAML.

  5. Sous Connexion SAML initiée par l'IdP, choisissez Accepter les assertions SAML initiées par le SP et initiées par l'IdP.

  6. Sélectionnez Enregistrer les modifications.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.