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


                    Schéma du flux d'authentification de la connexion SAML initiée par Amazon Cognito SP avec un identifiant IdP et l'interface utilisateur hébergée. L'utilisateur fournit une adresse e-mail à l'interface utilisateur hébergée et Amazon Cognito le redirige automatiquement vers son fournisseur.

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.

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, l'interface utilisateur hébergée par Amazon Cognito 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 l'interface utilisateur hébergé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 terminal. 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 des identifiants IdP au format de domaine, l'interface utilisateur hébergée par Amazon Cognito 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 l'interface utilisateur hébergée de votre client d'application pour 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 d'applications personnalisés pour chacun de vos locataires d'applications, 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 l'interface utilisateur hébergée, attribuez au moins un identifiant à chaque IdP SAML que vous avez attribué à votre client d'application. Par défaut, l'écran de connexion à l'interface utilisateur hébergée affiche un bouton pour chacun des éléments IdPs que vous avez attribués à votre client d'application. Toutefois, si vous avez attribué des identifiants avec succès, la page de connexion à l'interface utilisateur hébergée ressemble à l'image suivante.


                    Page de connexion de l'interface utilisateur hébergée d'Amazon Cognito affichant la connexion d'un utilisateur local et une invite à un utilisateur fédéré de saisir une adresse e-mail.

L'analyse des domaines dans l'interface utilisateur hébergée nécessite que vous utilisiez des domaines comme identifiants d'IdP. Si vous attribuez un identifiant quelconque à chaque SAML IdPs d'un client d'application, l'interface utilisateur hébergée pour cette application n'affiche plus les boutons de sélection d'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 votre interface utilisateur hébergée affiche 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 fournisseur d'identité SAML à votre client d'application, la page de connexion de l'interface utilisateur hébergée affiche un bouton permettant de se connecter avec ce fournisseur d'identité.

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

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

  • Si vous avez attribué des identifiants à votre client d'application IdPs et que vous souhaitez que votre interface utilisateur hébergée affiche 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.