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 connexion et de déconnexion initiées par le SP à ce fournisseur. Pour plus d'informations sur les contraintes de chaîne appliquées au nom du fournisseur, consultez la ProviderName propriété de CreateIdentityProvider.

Schéma du flux d'authentification de la connexion SAML initiée par Amazon Cognito SP avec un identifiant IdP et une connexion gérée. L'utilisateur fournit une adresse e-mail pour gérer la connexion 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. Il 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 indiqué 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 les redirigent 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 dans le format indiqué 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.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é avec votre IdP SAML, celui-ci le redirige avec une réponse SAML dans le corps vers votre point de terminaison. HTTP POST /saml2/idpresponse Amazon Cognito traite l'assertion SAML et, si les affirmations contenues dans 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 n'a interagi qu'avec les pages Web de votre IdP et de votre application.

Avec les identifiants IdP au format de 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. Pour cet exemple, vous en avez configuré deux IdPs, un 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 le client de votre application afin d'inviter chaque utilisateur à saisir son adresse e-mail. Amazon Cognito déduit le domaine à partir de l'adresse e-mail, met en corrélation le domaine avec un IdP avec un identifiant de domaine et redirige votre utilisateur vers le bon IdP en envoyant une demande à celui qui contient un paramètre de demande. Point de terminaison d’autorisation idp_identifier Par exemple, si un utilisateur entrebob@exampleA.co.uk, la page suivante avec laquelle il interagit est la page de connexion à l'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 informations des utilisateurs et les met en corrélation avec l'IdP approprié 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ée affiche un bouton pour chacune des connexions IdPs que vous avez attribuées à votre client d'application. Toutefois, si vous avez attribué des identifiants avec succès, votre page de connexion à l'interface utilisateur hébergée classique ressemble à l'image suivante.

Une page de connexion gérée par Amazon Cognito affichant la connexion d'un 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 invite automatiquement à 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 le concepteur de marque. Dans la catégorie Paramètres du comportement d'authentification, sélectionnez l'entrée de recherche par domaine sous la rubrique Affichage du fournisseur.

L'analyse des domaines dans le cadre d'une connexion gérée nécessite que vous utilisiez des domaines comme identifiants d'IdP. Si vous attribuez un identifiant quelconque à chaque SAML d'un client d'application, la connexion gérée IdPs pour cette application n'affiche plus les boutons de sélection de l'IDP. 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'identifiants et utilisez le paramètre de identity_provider demande 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 se connecter avec cet IdP.

  • Si vous attribuez un identifiant à chaque IdP SAML que vous activez pour le client de votre application, une demande de saisie d'adresse e-mail apparaît sur la page de connexion gérée.

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

  • Si vous avez attribué des identifiants à vos pages de connexion gérées IdPs et que vous souhaitez qu'elles affichent une sélection de boutons IdP, 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 au cours duquel 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.