View a markdown version of this page

Noms et identifiants des fournisseurs d'identité SAML - 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.

Noms et identifiants des fournisseurs d'identité SAML

Lorsque vous nommez vos fournisseurs d'identité SAML (IdPs) et que vous attribuez des identifiants IdP, vous pouvez automatiser le flux des demandes de SP-initiated connexion et de déconnexion adressées à ce fournisseur. Pour plus d'informations sur les contraintes de chaîne associées au nom du fournisseur, consultez la ProviderName propriété de CreateIdentityProvider.

Schéma du flux d'authentification de la connexion SP-initiated SAML à Amazon Cognito avec un identifiant IdP et une connexion gérée. L'utilisateur fournit une adresse e-mail pour la connexion gérée et Amazon Cognito le redirige automatiquement vers son fournisseur.

Vous pouvez également choisir jusqu'à 50 identifiants pour vos fournisseurs SAML. Un identifiant est un nom convivial pour un IdP de votre groupe d'utilisateurs et doit être unique au sein de ce groupe d'utilisateurs. Si vos identifiants SAML correspondent aux domaines de messagerie de vos utilisateurs, la connexion gérée demande l'adresse e-mail de chaque utilisateur, évalue le domaine dans son adresse e-mail et les redirige vers l'IdP correspondant à leur domaine. Étant donné qu'une même organisation peut posséder plusieurs domaines, un même IdP peut avoir plusieurs identifiants.

Que vous utilisiez ou non des identifiants de domaine de messagerie, vous pouvez utiliser des identifiants dans une application mutualisée pour rediriger les utilisateurs vers le bon IdP. Lorsque vous souhaitez contourner complètement la connexion gérée, vous pouvez personnaliser les liens que vous présentez aux utilisateurs afin qu'ils soient redirigés Point de terminaison d’autorisation directement vers leur IdP. Pour connecter vos utilisateurs à l'aide d'un identifiant et les rediriger vers leur IdP, incluez l'identifiant au format idp_identifier=myidp.example.com dans les paramètres de demande de leur demande d'autorisation initiale.

Une autre méthode pour transmettre un utilisateur à votre IdP consiste à renseigner le paramètre identity_provider avec le nom de votre IdP au format d'URL suivant.

https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize? response_type=code& identity_provider=MySAMLIdP& client_id=1example23456789& redirect_uri=https://www.example.com

Une fois qu'un utilisateur s'est connecté à votre IdP SAML, celui-ci le redirige avec une réponse SAML dans le HTTP POST corps vers votre terminal. /saml2/idpresponse Amazon Cognito traite l'assertion SAML et, si les revendications de la réponse répondent aux attentes, redirige vers l'URL de rappel du client de votre application. Une fois que votre utilisateur s'est authentifié de cette manière, il a interagi avec les pages Web de votre IdP et de votre application uniquement.

Avec les identifiants IdP au format domaine, la connexion gérée demande des adresses e-mail lors de la connexion, puis, lorsque le domaine de messagerie correspond à un identifiant IdP, redirige les utilisateurs vers la page de connexion de leur IdP. Par exemple, vous créez une application qui nécessite la connexion des employés de deux entreprises différentes. La première société, AnyCompany A, possède exampleA.com etexampleA.co.uk. La deuxième société, AnyCompany B, est propriétaireexampleB.com. Dans cet exemple, vous en avez configuré deux IdPs, une pour chaque entreprise, comme suit :

  • Pour le fournisseur d'identité A, vous définissez les identifiants exampleA.com et exampleA.co.uk.

  • Pour le fournisseur d'identité B, vous définissez l'identifiant exampleB.com.

Dans votre application, appelez la connexion gérée pour votre client d'application afin d'inviter chaque utilisateur à saisir son adresse e-mail. Amazon Cognito déduit le domaine à partir de l'adresse e-mail, met le domaine en corrélation avec un IdP avec un identifiant de domaine et redirige votre utilisateur vers l'IdP correct en envoyant une demande au qui contient un paramètre de Point de terminaison d’autorisation demande. idp_identifier Par exemple, si un utilisateur entrebob@exampleA.co.uk, la page suivante avec laquelle il interagit est la page de connexion IdP à l'adresse. https://auth.exampleA.co.uk/sso/saml

Vous pouvez également implémenter la même logique indépendamment. Dans votre application, vous pouvez créer un formulaire personnalisé qui collecte les données des utilisateurs et les met en corrélation avec le bon IdP selon votre propre logique. Vous pouvez générer des portails personnalisés pour chacun des locataires de votre application, chacun étant lié au point de terminaison autorisé avec l'identifiant du locataire dans les paramètres de demande.

Pour collecter une adresse e-mail et analyser le domaine dans la connexion gérée, attribuez au moins un identifiant à chaque IdP SAML que vous avez attribué à votre client d'application. Par défaut, l'écran de connexion géré affiche un bouton pour chacun des éléments IdPs que vous avez attribués à votre client d'application. Toutefois, si vous avez correctement attribué des identifiants, la page de connexion à votre interface utilisateur hébergée classique ressemble à l'image suivante.

Une page de connexion gérée par Amazon Cognito affichant la connexion de l'utilisateur local et invitant un utilisateur fédéré à saisir une adresse e-mail.
Note

Dans l'interface utilisateur hébergée classique, la page de connexion de votre client d'application vous demande automatiquement de saisir une adresse e-mail lorsque vous attribuez des identifiants à votre. IdPs Dans l'expérience de connexion gérée, vous devez activer ce comportement dans l'éditeur de marque. Dans la catégorie Paramètres du comportement d'authentification, sélectionnez Entrée de recherche de domaine sous la rubrique Affichage du fournisseur.

L'analyse des domaines dans la connexion gérée nécessite que vous utilisiez des domaines comme identifiants IdP. Si vous attribuez un identifiant de n'importe quel type à chacun des codes SAML IdPs d'un client d'application, la connexion gérée pour cette application n'affiche plus de IdP-selection boutons. Ajoutez des identifiants IdP pour SAML lorsque vous avez l'intention d'utiliser l'analyse des e-mails ou une logique personnalisée pour générer des redirections. Lorsque vous souhaitez générer des redirections silencieuses et que vous souhaitez également que vos pages de connexion gérées affichent une liste de IdPs, n'attribuez pas d'identifiant et utilisez le paramètre de identity_provider requête dans vos demandes d'autorisation.

  • Si vous n'attribuez qu'un seul IdP SAML à votre client d'application, la page de connexion gérée affiche un bouton permettant de vous connecter avec cet IdP.

  • Si vous attribuez un identifiant à chaque IdP SAML que vous activez pour le client de votre application, l'utilisateur est invité à saisir une adresse e-mail sur la page de connexion gérée.

  • Si vous en avez plusieurs IdPs et que vous n'attribuez pas d'identifiant à chacun d'entre eux, la page de connexion gérée affiche un bouton permettant de vous connecter avec chaque IdP attribué.

  • Si vous avez attribué des identifiants à vos pages de connexion gérées IdPs et que vous souhaitez que vos pages de connexion gérées affichent une sélection de boutons, ajoutez un nouvel IdP sans identifiant à votre client d'application ou créez un nouveau client d'application. Vous pouvez également supprimer un IdP existant et l'ajouter à nouveau sans identifiant. Si vous créez un nouvel IdP, vos utilisateurs SAML créeront de nouveaux profils utilisateur. Cette duplication d'utilisateurs actifs peut avoir un impact sur la facturation le mois où vous modifiez la configuration de votre IdP.

Pour plus d'informations sur la configuration du fournisseur d'identité, consultez Configuration des fournisseurs d'identités pour votre groupe d'utilisateurs.