

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.

# Utilisation de fournisseurs d'identité SAML avec un groupe d'utilisateurs
<a name="cognito-user-pools-saml-idp"></a>

[Vous pouvez choisir de faire en sorte que les utilisateurs de vos applications Web et mobiles se connectent via un fournisseur d'identité SAML (IdP) tel que [Microsoft Active Directory Federation Services (ADFS](https://msdn.microsoft.com/en-us/library/bb897402.aspx)) ou Shibboleth.](http://www.shibboleth.net/) Vous devez choisir un fournisseur d'identité SAML qui prend en charge la [norme SAML 2.0](http://saml.xml.org/saml-specifications).

Avec la connexion gérée, Amazon Cognito authentifie les utilisateurs IdP locaux et tiers et émet des jetons Web JSON (). JWTs Avec les jetons émis par Amazon Cognito, vous pouvez consolider plusieurs sources d'identité dans une norme universelle OpenID Connect (OIDC) pour toutes vos applications. Amazon Cognito peut traiter les assertions SAML de vos fournisseurs tiers conformément à cette norme SSO. Vous pouvez créer et gérer un IdP SAML dans, via ou avec AWS Management Console l'API AWS CLI des groupes d'utilisateurs Amazon Cognito. Pour créer votre premier IdP SAML dans AWS Management Console le, voir. [Ajouter et gérer des fournisseurs d'identité SAML dans un groupe d'utilisateurs](cognito-user-pools-managing-saml-idp.md)

![\[Vue d'ensemble de l'authentification avec connexion SAML\]](http://docs.aws.amazon.com/fr_fr/cognito/latest/developerguide/images/scenario-authentication-saml.png)


**Note**  
La fédération avec connexion via un IdP tiers est une fonctionnalité des groupes d'utilisateurs Amazon Cognito. Les groupes d'identités Amazon Cognito, parfois appelés identités fédérées Amazon Cognito, sont une implémentation de fédération que vous devez configurer séparément dans chaque pool d'identités. Un groupe d'utilisateurs peut être un IdP tiers d'un pool d'identités. Pour de plus amples informations, veuillez consulter [Groupes d’identités Amazon Cognito](cognito-identity.md).

## Référence rapide pour la configuration de l'IdP
<a name="cognito-user-pools-saml-idp-reference"></a>

Vous devez configurer votre IdP SAML pour accepter les demandes et envoyer des réponses à votre groupe d'utilisateurs. La documentation de votre IdP SAML contiendra des informations sur la façon d'ajouter votre groupe d'utilisateurs en tant que partie utilisatrice ou application pour votre IdP SAML 2.0. La documentation suivante fournit les valeurs que vous devez fournir pour l'ID d'entité SP et l'URL du service client d'assertion (ACS).Référence rapide des valeurs SAML du pool d'utilisateurs

**ID de l'entité SP**  

```
urn:amazon:cognito:sp:us-east-1_EXAMPLE
```

**URL DE L'ACS**  

```
https://Your user pool domain/saml2/idpresponse
```

Vous devez configurer votre groupe d'utilisateurs pour qu'il prenne en charge votre fournisseur d'identité. Les étapes de haut niveau pour ajouter un IdP SAML externe sont les suivantes.

1. Téléchargez les métadonnées SAML depuis votre IdP ou récupérez l'URL de votre point de terminaison de métadonnées. Consultez [Configuration de votre fournisseur d'identité SAML tiers](cognito-user-pools-integrating-3rd-party-saml-providers.md).

1. Ajoutez un nouvel IdP à votre groupe d'utilisateurs. Téléchargez les métadonnées SAML ou fournissez l'URL des métadonnées. Consultez [Ajouter et gérer des fournisseurs d'identité SAML dans un groupe d'utilisateurs](cognito-user-pools-managing-saml-idp.md).

1. Assignez l'IdP aux clients de votre application. Consultez [Paramètres spécifiques à l'application avec les clients d'applications](user-pool-settings-client-apps.md).

**Topics**
+ [Référence rapide pour la configuration de l'IdP](#cognito-user-pools-saml-idp-reference)
+ [Ce qu'il faut savoir sur le protocole SAML IdPs dans les groupes d'utilisateurs Amazon Cognito](cognito-user-pools-saml-idp-things-to-know.md)
+ [Sensibilité à la casse des noms d'utilisateur SAML](#saml-nameid-case-sensitivity)
+ [Configuration de votre fournisseur d'identité SAML tiers](cognito-user-pools-integrating-3rd-party-saml-providers.md)
+ [Ajouter et gérer des fournisseurs d'identité SAML dans un groupe d'utilisateurs](cognito-user-pools-managing-saml-idp.md)
+ [Lancement de séance SAML dans les groupes d'utilisateurs Amazon Cognito](cognito-user-pools-SAML-session-initiation.md)
+ [Déconnexion des utilisateurs SAML à l'aide de la déconnexion unique](cognito-user-pools-saml-idp-sign-out.md)
+ [Signature et chiffrement SAML](cognito-user-pools-SAML-signing-encryption.md)
+ [Noms et identifiants des fournisseurs d'identité SAML](cognito-user-pools-managing-saml-idp-naming.md)

# Ce qu'il faut savoir sur le protocole SAML IdPs dans les groupes d'utilisateurs Amazon Cognito
<a name="cognito-user-pools-saml-idp-things-to-know"></a>

La mise en œuvre d'un IdP SAML 2.0 s'accompagne de certaines exigences et restrictions. Reportez-vous à cette section lorsque vous implémentez votre IdP. Vous trouverez également des informations utiles pour résoudre les erreurs lors de la fédération SAML avec un groupe d'utilisateurs.

**Amazon Cognito traite les assertions SAML pour vous**  
Les groupes d'utilisateurs Amazon Cognito prennent en charge la fédération SAML 2.0 avec points de terminaison de liaison postérieure. Ainsi, votre application n'a plus besoin d'analyser ni de récupérer les réponses d'assertion SAML, étant donné que le groupe d'utilisateurs reçoit directement la réponse SAML de votre fournisseur d'identité via un agent utilisateur. Votre groupe d'utilisateurs agit en tant que fournisseur de services pour le compte de votre application. [Amazon Cognito prend en charge l'authentification unique (SSO) initiée par le SP et l'IDP, comme décrit dans les sections 5.1.2 et 5.1.4 de la présentation technique de SAML V2.0.](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0-cd-02.html)

**Fournir un certificat de signature IdP valide**  
Le certificat de signature figurant dans les métadonnées de votre fournisseur SAML ne doit pas être expiré lorsque vous configurez l'IdP SAML dans votre groupe d'utilisateurs.

**Les groupes d'utilisateurs prennent en charge plusieurs certificats de signature**  
Lorsque votre fournisseur d'identités SAML inclut plusieurs certificats de signature dans les métadonnées SAML, lors de la connexion, votre groupe d'utilisateurs détermine que l'assertion SAML est valide si elle correspond à un certificat figurant dans les métadonnées SAML. Chaque certificat de signature ne doit pas comporter plus de 4 096 caractères.

**Maintenir le paramètre d'état du relais**  
Amazon Cognito et votre IdP SAML gèrent les informations de session à l'aide d'un paramètre `relayState`.  

1. Amazon Cognito prend en charge `relayState` les valeurs supérieures à 80 octets. Alors que les spécifications SAML stipulent que la valeur `relayState` « ne doit pas dépasser 80 octets de longueur », les pratiques actuelles du secteur s'écartent souvent de ce comportement. En conséquence, le rejet des valeurs `relayState` de plus de 80 octets rend de nombreuses intégrations de fournisseurs SAML standard inutilisables.

1. Le `relayState` jeton est une référence opaque aux informations d'état gérées par Amazon Cognito. Amazon Cognito ne garantit pas le contenu du paramètre `relayState`. N'analysez pas son contenu de telle sorte que votre application dépende du résultat. Pour plus d'informations, consultez la page [Spécification SAML 2.0](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html).

**Identifiez le point de terminaison ACS**  
Votre fournisseur d'identité SAML exige que vous définissiez un point de terminaison consommateur d'assertion. Votre fournisseur d'identité redirige vos utilisateurs vers ce point de terminaison avec leur assertion SAML. Configurez le point de terminaison suivant dans le domaine de votre groupe d'utilisateurs pour la liaison POST SAML 2.0 dans votre fournisseur d'identité SAML.  

```
https://Your user pool domain/saml2/idpresponse
With an Amazon Cognito domain:
https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse
With a custom domain:
https://auth.example.com/saml2/idpresponse
```
Pour plus d'informations sur les domaines de groupes d’utilisateurs, consultez [Configuration d'un domaine de groupe d'utilisateurs](cognito-user-pools-assign-domain.md).

**Aucune assertion rejouée**  
Vous ne pouvez pas répéter ni *réutiliser* une assertion SAML sur votre point de terminaison `saml2/idpresponse` Amazon Cognito. Une assertion SAML réutilisée possède un ID d'assertion qui duplique l'ID d'une demande d'API précédente.

**L'ID du groupe d'utilisateurs est l'ID de l'entité SP**  
Vous devez fournir à votre IdP l'ID de votre groupe d'utilisateurs dans le fournisseur de services (SP)`urn`, également appelé *URI d'audience* ou ID d'*entité SP*. L'URI du public pour votre groupe d'utilisateurs a le format suivant.  

```
urn:amazon:cognito:sp:us-east-1_EXAMPLE
```
Vous trouverez l'ID de votre groupe d'utilisateurs dans la section **Vue d'ensemble du groupe d'utilisateurs** dans la [console Amazon Cognito](https://console.aws.amazon.com/cognito/home).

**Cartographier tous les attributs requis**  
Configurez votre fournisseur d'identité SAML pour fournir des valeurs d'attributs que vous définissez pour tous les attributs requis dans votre groupe d'utilisateurs. Par exemple, `email` est un attribut courant requis pour les groupes d'utilisateurs. Avant que vos utilisateurs puissent se connecter, vos assertions de fournisseur d'identité SAML doivent inclure une demande que vous mappez à l'**Attribut du groupe d'utilisateurs** `email`. Pour plus d'informations sur le mappage d'attributs, consultez [Mappage des attributs d'IdP aux profils et aux jetons](cognito-user-pools-specifying-attribute-mapping.md).

**Le format d'assertion a des exigences spécifiques**  
Votre IdP SAML doit inclure les revendications suivantes dans l'assertion SAML.  
+ Une `NameID` réclamation. Amazon Cognito associe une assertion SAML à l'utilisateur de destination par. `NameID` En cas de `NameID` modification, Amazon Cognito considère que l'assertion concerne un nouvel utilisateur. L'attribut que vous avez défini `NameID` dans votre configuration IdP doit avoir une valeur persistante. Pour attribuer aux utilisateurs SAML un profil utilisateur cohérent dans votre groupe d'utilisateurs, attribuez votre `NameID` réclamation à partir d'un attribut dont la valeur ne change pas.

  ```
  <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:persistent">
    carlos
  </saml2:NameID>
  ```

  Un `Format` dans votre `NameID` réclamation IdP de `urn:oasis:names:tc:SAML:1.1:nameid-format:persistent` indique que votre IdP transmet une valeur immuable. Amazon Cognito n'exige pas cette déclaration de format et attribue un format de si `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified` votre IdP ne spécifie pas de format pour la réclamation. `NameID` Ce comportement est conforme à la section 2.2.2 *Nom IDType de type complexe* de [la spécification SAML 2.0.](https://groups.oasis-open.org/higherlogic/ws/public/download/35711/sstc-saml-core-errata-2.0-wd-06-diff.pdf/latest)
+ Un champ standard `AudienceRestriction` avec une valeur `Audience` qui définit l'ID d'entité SP de votre groupe d'utilisateurs comme cible de la réponse.

  ```
  <saml:AudienceRestriction>
    <saml:Audience> urn:amazon:cognito:sp:us-east-1_EXAMPLE
  </saml:AudienceRestriction>
  ```
+ Pour l'authentification unique initiée par le SP, `Response` élément dont `InResponseTo` la valeur est l'ID de demande SAML d'origine.

  ```
  <saml2p:Response Destination="https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse" ID="id123" InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" IssueInstant="Date-time stamp" Version="2.0" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  ```
**Note**  
Les assertions SAML initiées par l'IdP *ne doivent pas* contenir de valeur. `InResponseTo`
+ `SubjectConfirmationData`Élément dont `Recipient` la valeur correspond au point de `saml2/idpresponse` terminaison de votre groupe d'utilisateurs et, pour le protocole SAML initié par SP, une `InResponseTo` valeur correspondant à l'ID de demande SAML d'origine.

  ```
  <saml2:SubjectConfirmationData InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" NotOnOrAfter="Date-time stamp" Recipient="https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse"/>
  ```

**Demandes de connexion initiées par le SP**  
Lorsque le [Point de terminaison d’autorisation](authorization-endpoint.md) redirige votre utilisateur vers la page de connexion de votre fournisseur d'identité, Amazon Cognito inclut une *demande SAML* dans un paramètre d'URL de la demande `HTTP GET`. Une demande SAML contient des informations sur votre groupe d'utilisateurs, y compris votre point de terminaison ACS. Vous pouvez éventuellement appliquer une signature cryptographique à ces demandes.

**Signer les demandes et chiffrer les réponses**  
Chaque groupe d'utilisateurs disposant d'un fournisseur SAML génère une paire de clés asymétriques et un *certificat de signature* pour une signature numérique qu'Amazon Cognito attribue aux demandes SAML. Chaque IdP SAML externe que vous configurez pour prendre en charge une réponse SAML chiffrée amène Amazon Cognito à générer une nouvelle paire de clés *et* un nouveau certificat de chiffrement pour ce fournisseur. Pour consulter et télécharger les certificats avec la clé publique, choisissez votre IdP dans le menu Réseaux **sociaux et fournisseurs externes** de la console Amazon Cognito.  
Pour établir la confiance avec les demandes SAML provenant de votre groupe d'utilisateurs, fournissez à votre IdP une copie du certificat de signature SAML 2.0 de votre groupe d'utilisateurs. Votre IdP peut ignorer les demandes SAML signées par votre groupe d'utilisateurs si vous ne configurez pas l'IdP pour qu'il accepte les demandes signées.  

1. Amazon Cognito applique une signature numérique aux demandes SAML que votre utilisateur transmet à votre IdP. Votre groupe d'utilisateurs signe toutes les demandes de déconnexion unique (SLO), et vous pouvez configurer votre groupe d'utilisateurs pour signer les demandes d'authentification unique (SSO) pour n'importe quel IdP externe SAML. Lorsque vous fournissez une copie du certificat, votre IdP peut vérifier l'intégrité des demandes SAML de vos utilisateurs. 

1. Votre IdP SAML peut chiffrer les réponses SAML à l'aide du certificat de chiffrement. Lorsque vous configurez un IdP avec le chiffrement SAML, votre IdP ne doit envoyer que des réponses chiffrées.

**Coder des caractères non alphanumériques**  
Amazon Cognito n'accepte pas les caractères UTF-8 de 4 octets tels que ceux transmis par 𠮷 votre IdP en tant 😐 que valeur d'attribut. Vous pouvez coder le caractère en Base64, le transmettre sous forme de texte, puis le décoder dans votre application.  
Dans l'exemple suivant, la revendication d'attribut ne sera pas acceptée :  

```
<saml2:Attribute Name="Name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
  <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">😐</saml2:AttributeValue>
</saml2:Attribute>
```
Contrairement à l'exemple précédent, la revendication d'attribut suivante sera acceptée :  

```
<saml2:Attribute Name="Name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
  <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">8J+YkA==</saml2:AttributeValue>
</saml2:Attribute>
```

**Le point de terminaison des métadonnées doit disposer d'une sécurité de couche de transport valide**  
Si, `InvalidParameterException` lors de la création d'un IdP SAML avec une URL de point de terminaison de métadonnées HTTPS, vous voyez par exemple « Erreur lors *<metadata endpoint>* de la récupération des métadonnées », assurez-vous que le protocole SSL est correctement configuré sur le point de terminaison de métadonnées et qu'un certificat SSL valide lui est associé. Pour plus d'informations sur la validation des certificats, voir [Qu'est-ce qu'un SSL/TLS certificat ?](https://aws.amazon.com/what-is/ssl-certificate/) .

**Le point de terminaison des métadonnées doit se trouver sur le port TCP standard pour HTTP ou HTTPS**  
Amazon Cognito accepte uniquement les métadonnées URLs des fournisseurs SAML sur les ports TCP standard 80 pour HTTP et 443 pour HTTPS. Pour des raisons de sécurité, hébergez les métadonnées SAML sur une URL cryptée TLS avec le préfixe. `https://` Entrez les métadonnées URLs au format *`http://www.example.com/saml2/metadata.xml`* ou*`https://www.example.com/saml2/metadata.xml`*. La console Amazon Cognito accepte les métadonnées URLs uniquement avec le `https://` préfixe. Vous pouvez également configurer les métadonnées de l'IdP avec et [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html). [UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)

**Les clients d'applications utilisant le protocole SAML initié par l'IdP ne peuvent se connecter qu'avec le protocole SAML**  
Lorsque vous activez la prise en charge d'un IdP SAML 2.0 qui prend en charge la connexion initiée par l'IdP dans un client d'application, vous ne pouvez ajouter qu'un autre protocole SAML IdPs 2.0 à ce client d'application. Il vous est interdit d'ajouter l'annuaire des utilisateurs dans le groupe d'utilisateurs *et* tous les fournisseurs d'identité externes non SAML à un client d'application configuré de cette manière.

**Les réponses de déconnexion doivent utiliser la liaison POST**  
Le `/saml2/logout` point de terminaison accepte les `HTTP POST` demandes `LogoutResponse` en tant que telles. Les groupes d'utilisateurs n'acceptent pas les réponses de déconnexion `HTTP GET` contraignantes.

**Rotation des certificats de signature de métadonnées**  
Amazon Cognito met en cache les métadonnées SAML pendant six heures maximum lorsque vous fournissez des métadonnées avec une URL. Lorsque vous effectuez une rotation de certificats de signature de métadonnées, configurez votre source de métadonnées pour publier à la *fois* le certificat original et le nouveau certificat pendant au moins six heures. Lorsqu'Amazon Cognito actualise le cache à partir de l'URL des métadonnées, il considère chaque certificat comme valide et votre IdP SAML peut commencer à signer des assertions SAML avec le nouveau certificat. Une fois cette période écoulée, vous pouvez supprimer le certificat d'origine des métadonnées publiées.

## Sensibilité à la casse des noms d'utilisateur SAML
<a name="saml-nameid-case-sensitivity"></a>

Lorsqu'un utilisateur fédéré tente de se connecter, le fournisseur d'identité SAML (IdP) transmet un code unique à Amazon `NameId` Cognito dans l'assertion SAML de l'utilisateur. Amazon Cognito identifie un utilisateur fédéré SAML par sa demande `NameId`. Quels que soient les paramètres de distinction majuscules/minuscules de votre groupe d'utilisateurs, Amazon Cognito reconnaît un utilisateur fédéré qui revient d'un IdP SAML lorsqu'il transmet sa demande unique et différenciée par majuscules et minuscules. `NameId` Si vous mappez un attribut comme `email` à `NameId`, et que votre utilisateur change d'adresse e-mail, il ne peut pas se connecter à votre application.

Mappez `NameId` dans vos assertions SAML à partir d'un attribut de fournisseur d'identité dont les valeurs ne changent pas.

Par exemple, Carlos possède un profil utilisateur dans votre groupe d'utilisateurs insensible à la casse provenant d'une assertion SAML ADFS (Active Directory Federation Services) qui a transmis une valeur `NameId` de `Carlos@example.com`. La prochaine fois que Carlos tente de se connecter, votre fournisseur d'identité ADFS transmet une valeur `NameId` de `carlos@example.com`. Comme `NameId` doit être une correspondance exacte qui respecte la casse, la connexion ne réussit pas.

Si vos utilisateurs ne peuvent pas se connecter après le changement de `NameID`, supprimez leurs profils utilisateur de votre groupe d'utilisateurs. Amazon Cognito créera de nouveaux profils utilisateur la prochaine fois qu'ils se connecteront.

**Topics**
+ [Référence rapide pour la configuration de l'IdP](#cognito-user-pools-saml-idp-reference)
+ [Ce qu'il faut savoir sur le protocole SAML IdPs dans les groupes d'utilisateurs Amazon Cognito](cognito-user-pools-saml-idp-things-to-know.md)
+ [Sensibilité à la casse des noms d'utilisateur SAML](#saml-nameid-case-sensitivity)
+ [Configuration de votre fournisseur d'identité SAML tiers](cognito-user-pools-integrating-3rd-party-saml-providers.md)
+ [Ajouter et gérer des fournisseurs d'identité SAML dans un groupe d'utilisateurs](cognito-user-pools-managing-saml-idp.md)
+ [Lancement de séance SAML dans les groupes d'utilisateurs Amazon Cognito](cognito-user-pools-SAML-session-initiation.md)
+ [Déconnexion des utilisateurs SAML à l'aide de la déconnexion unique](cognito-user-pools-saml-idp-sign-out.md)
+ [Signature et chiffrement SAML](cognito-user-pools-SAML-signing-encryption.md)
+ [Noms et identifiants des fournisseurs d'identité SAML](cognito-user-pools-managing-saml-idp-naming.md)

# Configuration de votre fournisseur d'identité SAML tiers
<a name="cognito-user-pools-integrating-3rd-party-saml-providers"></a>

Lorsque vous souhaitez ajouter un fournisseur d'identité (IdP) SAML à votre groupe d'utilisateurs, vous devez effectuer des mises à jour de configuration dans l'interface de gestion de votre IdP. Cette section explique comment formater les valeurs que vous devez fournir à votre IdP. Vous pouvez également découvrir comment récupérer le document de métadonnées statique ou à URL active identifiant l'IdP et ses revendications SAML auprès de votre groupe d'utilisateurs.

Pour configurer des solutions de fournisseur d'identité (IdP) SAML 2.0 tiers afin qu'elles fonctionnent avec la fédération pour les groupes d'utilisateurs Amazon Cognito, vous devez configurer votre IdP SAML pour qu'il soit redirigé vers l'URL Assertion Consumer Service (ACS) suivante :. `https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse` Si votre groupe d'utilisateurs possède un domaine Amazon Cognito, vous pouvez trouver le chemin du domaine de votre groupe d'utilisateurs dans le menu **Domaine** de votre groupe d'utilisateurs de la console [Amazon Cognito](https://console.aws.amazon.com/cognito/home).

Certains protocoles SAML IdPs exigent que vous fournissiez le`urn`, également appelé URI d'audience ou ID d'entité SP, dans le formulaire`urn:amazon:cognito:sp:us-east-1_EXAMPLE`. Vous trouverez l'ID de votre groupe d'utilisateurs dans la section **Vue d'ensemble du groupe d'utilisateurs** dans la console Amazon Cognito.

Vous devez également configurer votre IdP SAML pour fournir des valeurs pour tous les attributs que vous avez désignés *comme étant obligatoires* dans votre groupe d'utilisateurs. Généralement, `email` il s'agit d'un attribut obligatoire pour les groupes d'utilisateurs, auquel cas l'IdP SAML doit fournir `email` une forme de réclamation dans son assertion SAML, et vous devez associer la réclamation à l'attribut de ce fournisseur.

Les informations de configuration suivantes pour les solutions IdP SAML 2.0 tierces constituent un bon point de départ pour configurer la fédération avec les groupes d'utilisateurs Amazon Cognito. Pour obtenir les informations les plus récentes, consultez directement la documentation de votre fournisseur.

Pour signer des demandes SAML, vous devez configurer votre IdP pour qu'il approuve les demandes signées par le certificat de signature de votre groupe d'utilisateurs. Pour accepter les réponses SAML chiffrées, vous devez configurer votre IdP pour *chiffrer* toutes les réponses SAML envoyées à votre groupe d'utilisateurs. Votre fournisseur disposera de la documentation sur la configuration de ces fonctionnalités. Pour un exemple fourni par Microsoft, voir [Configurer le chiffrement par jeton Microsoft Entra SAML](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/howto-saml-token-encryption).

**Note**  
Amazon Cognito a uniquement besoin du document de métadonnées de votre fournisseur d'identité. Votre fournisseur peut également proposer des informations de configuration personnalisées pour la fédération SAML 2.0 avec IAM ou. AWS IAM Identity Center Pour savoir comment configurer l'intégration d'Amazon Cognito, consultez les instructions générales pour récupérer le document de métadonnées et gérer le reste de la configuration dans votre groupe d'utilisateurs.


| Solution | En savoir plus | 
| --- | --- | 
| Identifiant Microsoft Entra | [Métadonnées de fédération](https://learn.microsoft.com/en-us/entra/identity-platform/federation-metadata) | 
| Okta | [Comment télécharger les métadonnées IdP et les certificats de signature SAML pour l'intégration d'une application SAML](https://support.okta.com/help/s/article/Location-to-download-Okta-IDP-XML-metadata-for-a-SAML-app-in-the-new-Admin-User-Interface) | 
| Auth0 | [Configurer Auth0 en tant que fournisseur d'identité SAML](https://auth0.com/docs/authenticate/protocols/saml/saml-sso-integrations/configure-auth0-saml-identity-provider) | 
| Identité Ping (PingFederate) | [Exportation de métadonnées SAML depuis PingFederate](https://docs.pingidentity.com/integrations/contentful/configuring_single_sign-on/pf_contentful_integration_exporting_saml_metadata_from_pf.html) | 
| JumpCloud | [Remarques de configuration SAML](https://jumpcloud.com/support/saml-configuration-notes) | 
| SecureAuth | [Intégration des applications SAML](https://docs.secureauth.com/2104/en/saml-application-integration.html) | 

# Ajouter et gérer des fournisseurs d'identité SAML dans un groupe d'utilisateurs
<a name="cognito-user-pools-managing-saml-idp"></a>

Après avoir configuré votre fournisseur d'identité pour qu'il fonctionne avec Amazon Cognito, vous pouvez l'ajouter à vos groupes d'utilisateurs et à vos clients d'applications. Les procédures suivantes montrent comment créer, modifier et supprimer des fournisseurs SAML dans un groupe d'utilisateurs Amazon Cognito.

------
#### [ AWS Management Console ]

Vous pouvez utiliser le AWS Management Console pour créer et supprimer des fournisseurs d'identité SAML (IdPs).

Avant de créer un IdP SAML, vous devez disposer du document de métadonnées SAML obtenu auprès de l'IdP tiers. Pour obtenir des instructions sur l'obtention ou la génération du document de métadonnées SAML requis, consultez [Configuration de votre fournisseur d'identité SAML tiers](cognito-user-pools-integrating-3rd-party-saml-providers.md).

**Pour configurer un fournisseur d'identité SAML 2.0 dans votre groupe d'utilisateurs**

1. Accédez à la [console Amazon Cognito](https://console.aws.amazon.com/cognito/home). Si vous y êtes invité, saisissez vos informations d’identification AWS .

1. Choisissez **Groupes d’utilisateurs**.

1. Choisissez un groupe d’utilisateurs existant dans la liste ou [créez-en un](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Choisissez le menu **Fournisseurs sociaux et externes**, puis sélectionnez **Ajouter un fournisseur d'identité**.

1. Choisissez un fournisseur d'identité **SAML**.

1. Entrez le **nom du fournisseur**. Vous pouvez transmettre ce nom convivial dans un paramètre de `identity_provider` requête au[Point de terminaison d’autorisation](authorization-endpoint.md).

1. Saisissez **Identifiants** séparés par des virgules. Un identifiant indique à Amazon Cognito qu'il doit vérifier l'adresse électronique qu'un utilisateur saisit lorsqu'il se connecte, puis le redirige vers le fournisseur correspondant à son domaine.

1. Choisissez **Ajouter un flux de déconnexion** si vous souhaitez qu'Amazon Cognito envoie des demandes de déconnexion signées à votre fournisseur lorsqu'un utilisateur se déconnecte. Vous devez configurer votre idP SAML 2.0 pour envoyer des réponses de déconnexion au point de terminaison créé lorsque vous configurez `https://mydomain.auth.us-east-1.amazoncognito.com/saml2/logout` la connexion gérée. Ce point de terminaison `saml2/logout` utilise la liaison POST.
**Note**  
Si cette option est sélectionnée et que votre IdP SAML attend une demande de déconnexion signée, vous devez également fournir à votre IdP SAML le certificat de signature de votre groupe d'utilisateurs.  
l'IdP SAML traite la demande de déconnexion signée et déconnecte votre utilisateur de la session Amazon Cognito.

1. Choisissez la configuration de connexion **SAML initiée par l'IdP**. Pour des raisons de sécurité, choisissez **Accepter uniquement les assertions SAML initiées par le SP**. Si vous avez préparé votre environnement pour accepter en toute sécurité les sessions de connexion SAML non sollicitées, choisissez **Accepter les assertions SAML initiées par le SP** et par l'IdP. Pour de plus amples informations, veuillez consulter [Lancement de séance SAML dans les groupes d'utilisateurs Amazon Cognito](cognito-user-pools-SAML-session-initiation.md).

1. Choisissez une **Source du document de métadonnées**. Si votre fournisseur d'identité propose des métadonnées SAML à une URL publique, vous pouvez choisir **Metadata document URL** (URL du document de métadonnées) et saisir cette URL publique. Sinon, choisissez **Upload metadata documen (Charger un document de métadonnées)** et sélectionnez un fichier de métadonnées que vous avez téléchargé depuis votre fournisseur précédemment.
**Note**  
Nous vous recommandons de saisir l'URL d'un document de métadonnées si votre fournisseur dispose d'un point de terminaison public au lieu de télécharger un fichier. Amazon Cognito actualise automatiquement les métadonnées à partir de l'URL des métadonnées. En règle générale, l'actualisation des métadonnées a lieu toutes les 6 heures ou avant l'expiration des métadonnées, selon la première éventualité.

1. **Mappez les attributs entre votre fournisseur SAML et votre groupe d'utilisateurs** pour mapper les attributs du fournisseur SAML au profil utilisateur de votre groupe d'utilisateurs. Incluez les attributs requis de votre groupe d'utilisateurs dans votre carte attributaire. 

   Par exemple, lorsque vous choisissez l'**attribut de groupe d'utilisateurs** `email`, saisissez le nom de l'attribut SAML tel qu'il apparaît dans l'assertion SAML de votre fournisseur d'identité. Si votre fournisseur d'identité propose des exemples d'assertions SAML, vous pouvez les utiliser pour identifier le nom. Certains IdPs utilisent des noms simples, tels que`email`, tandis que d'autres utilisent des noms tels que les suivants.

   ```
   http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
   ```

1. Choisissez **Créer**.

------
#### [ API/CLI ]

Utilisez les commandes suivantes pour créer et gérer un fournisseur d'identité SAML.

**Pour créer un fournisseur d'identité et charger un document de métadonnées**
+ AWS CLI: `aws cognito-idp create-identity-provider`

  Exemple avec fichier de métadonnées : `aws cognito-idp create-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1 --provider-type SAML --provider-details file:///details.json --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`

  Où `details.json` contient :

  ```
  "ProviderDetails": { 
        "MetadataFile": "<SAML metadata XML>",
        "IDPSignout" : "true",
        "RequestSigningAlgorithm" : "rsa-sha256",
        "EncryptedResponses" : "true",
        "IDPInit" : "true"
  }
  ```
**Note**  
S'il *<SAML metadata XML>* contient des instances du personnage`"`, vous devez ajouter `\` en tant que caractère d'échappement :`\"`.

  Exemple avec URL de métadonnées : `aws cognito-idp create-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1 --provider-type SAML --provider-details MetadataURL=https://myidp.example.com/sso/saml/metadata --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`
+ AWS API : [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)

**Pour charger un nouveau document de métadonnées pour un fournisseur d'identité**
+ AWS CLI: `aws cognito-idp update-identity-provider`

  Exemple avec fichier de métadonnées : `aws cognito-idp update-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1 --provider-details file:///details.json --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`

  Où `details.json` contient :

  ```
  "ProviderDetails": { 
        "MetadataFile": "<SAML metadata XML>",
        "IDPSignout" : "true",
        "RequestSigningAlgorithm" : "rsa-sha256",
        "EncryptedResponses" : "true",
        "IDPInit" : "true"
  }
  ```
**Note**  
S'il *<SAML metadata XML>* contient des instances du personnage`"`, vous devez ajouter `\` en tant que caractère d'échappement :`\"`.

  Exemple avec URL de métadonnées : `aws cognito-idp update-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1 --provider-details MetadataURL=https://myidp.example.com/sso/saml/metadata --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`
+ AWS API : [UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)

**Pour obtenir des informations sur un fournisseur d'identité spécifique**
+ AWS CLI: `aws cognito-idp describe-identity-provider`

  `aws cognito-idp describe-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1`
+ AWS API : [DescribeIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeIdentityProvider.html)

**Pour répertorier les informations concernant tous IdPs**
+ AWS CLI: `aws cognito-idp list-identity-providers`

  Exemple : `aws cognito-idp list-identity-providers --user-pool-id us-east-1_EXAMPLE --max-results 3`
+ AWS API : [ListIdentityProviders](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListIdentityProviders.html)

**Pour supprimer un IdP**
+ AWS CLI: `aws cognito-idp delete-identity-provider`

  `aws cognito-idp delete-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1`
+ AWS API : [DeleteIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DeleteIdentityProvider.html)

------

**Pour configurer le fournisseur d'identité SAML afin d'ajouter un groupe d'utilisateurs en tant que partie fiable**
+ L'URN du fournisseur de services du groupe d'utilisateurs est : `urn:amazon:cognito:sp:us-east-1_EXAMPLE`. Amazon Cognito requiert une valeur de restriction d'audience correspondant à cet URN dans la réponse SAML. Configurez votre IdP pour utiliser le point de terminaison de liaison POST suivant pour le message de IdP-to-SP réponse.

  ```
  https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse
  ```
+ Votre IdP SAML doit `NameID` renseigner tous les attributs requis pour votre groupe d'utilisateurs dans l'assertion SAML. `NameID`est utilisé pour identifier de manière unique votre utilisateur fédéré SAML dans le groupe d'utilisateurs. Votre IdP doit transmettre l'ID de nom SAML de chaque utilisateur dans un format cohérent et en distinguant majuscules et minuscules. Toute variation de la valeur du nom ID d'un utilisateur crée un nouveau profil utilisateur.

**Pour fournir un certificat de signature à votre IDP SAML 2.0**
+ **Pour télécharger une copie de la clé publique depuis Amazon Cognito que votre IdP peut utiliser pour valider les demandes de déconnexion SAML, choisissez le menu Réseaux **sociaux et fournisseurs externes** de votre groupe d'utilisateurs, sélectionnez votre IdP, puis sous **Afficher** le certificat de signature, sélectionnez Télécharger au format .crt.**

Vous pouvez supprimer n'importe quel fournisseur SAML que vous avez configuré dans votre groupe d'utilisateurs avec la console Amazon Cognito.

**Pour supprimer un fournisseur SAML**

1. Connectez-vous à la [console Amazon Cognito](https://console.aws.amazon.com/cognito/home).

1. Dans le volet de navigation, choisissez **Groupes d'utilisateurs**, puis choisissez le groupe d'utilisateurs que vous souhaitez modifier.

1. Choisissez le menu **Fournisseurs sociaux et externes**.

1. Sélectionnez le bouton radio situé à côté du fichier SAML IdPs que vous souhaitez supprimer.

1. Lorsque vous êtes invité à **Supprimer un fournisseur d'identité**, saisissez le nom du fournisseur SAML pour confirmer la suppression, puis choisissez **Delete (Supprimer)**.

# Lancement de séance SAML dans les groupes d'utilisateurs Amazon Cognito
<a name="cognito-user-pools-SAML-session-initiation"></a>

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](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0-cd-02.html#5.1.2.SP-Initiated%20SSO:%20%20Redirect/POST%20Bindings|outline) 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).

**Topics**
+ [Implémenter la connexion SAML initiée par le SP](#cognito-user-pools-saml-idp-authentication)
+ [Mettre en œuvre la connexion SAML initiée par l'IdP](#cognito-user-pools-SAML-session-initiation-idp-initiation)

## Implémenter la connexion SAML initiée par le SP
<a name="cognito-user-pools-saml-idp-authentication"></a>

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.\]](http://docs.aws.amazon.com/fr_fr/cognito/latest/developerguide/images/scenario-authentication-saml-stepbystep.png)


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 demander une adresse e-mail et la faire correspondre à l'identifiant de votre IdP SAML. Pour demander une adresse e-mail, modifiez le style de marque de votre connexion gérée. Dans **Foundation**, recherchez le **comportement d'authentification** et, sous **Affichage du fournisseur**, définissez le **style d'affichage** sur **Entrée de recherche par domaine**.

1. 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.

1. Amazon Cognito redirige votre utilisateur vers l'IdP avec une demande SAML, [éventuellement](cognito-user-pools-SAML-signing-encryption.md#cognito-user-pools-SAML-signing.title) signée, dans un élément. `AuthnRequest`

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

1. 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](cognito-user-pools-SAML-signing-encryption.md#cognito-user-pools-SAML-signing-encryption.title) 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.

1. Après avoir vérifié l'assertion SAML et [mappé les attributs utilisateur](cognito-user-pools-specifying-attribute-mapping.md#cognito-user-pools-specifying-attribute-mapping.title) à 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.

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

1. 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](https://oauth.net/2/). 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.

## Mettre en œuvre la connexion SAML initiée par l'IdP
<a name="cognito-user-pools-SAML-session-initiation-idp-initiation"></a>

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](authorization-endpoint.md) 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é.

![\[Schéma du flux d'authentification de la connexion SAML initiée par Amazon Cognito IDP.\]](http://docs.aws.amazon.com/fr_fr/cognito/latest/developerguide/images/scenario-authentication-saml-idpinit.png)


1. Un utilisateur demande une connexion SAML avec votre application.

1. Votre application appelle un navigateur ou redirige l'utilisateur vers la page de connexion de son fournisseur SAML.

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

1. L'IdP redirige votre utilisateur vers votre application avec l'assertion SAML, ou réponse, dans le corps du message POST.

1. Votre application ajoute l'assertion SAML au corps POST d'une demande envoyée au point de `saml2/idpresponse` terminaison de votre groupe d'utilisateurs.

1. Amazon Cognito envoie un code d'autorisation à votre utilisateur.

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

1. 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.

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.

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

1. 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.

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

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

1. Dirigez votre utilisateur vers le point de `saml2/idpresponse` terminaison de votre groupe d'utilisateurs avec son assertion SAML.

1. 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 et de réponse 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](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html), un [client d'application](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-configuring-app-integration.html) et un fournisseur d'identité SAML.

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

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

1. Modifiez ou ajoutez un fournisseur SAML.

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

1. 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 [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)ou [UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)d'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"
}
```

------

# Déconnexion des utilisateurs SAML à l'aide de la déconnexion unique
<a name="cognito-user-pools-saml-idp-sign-out"></a>

Amazon Cognito prend en charge la [déconnexion unique](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0-cd-02.html#5.3.Single%20Logout%20Profile|outline) (SLO) SAML 2.0. Avec SLO, votre application peut déconnecter les utilisateurs de leurs fournisseurs d'identité SAML (IdPs) lorsqu'ils se déconnectent de votre groupe d'utilisateurs. Ainsi, lorsque les utilisateurs souhaitent se reconnecter à votre application, ils doivent s'authentifier auprès de leur IdP SAML. Dans le cas contraire, ils peuvent avoir des cookies de navigateur IdP ou de groupe d'utilisateurs en place qui les transmettent à votre application sans qu'il soit nécessaire qu'ils fournissent des informations d'identification.

Lorsque vous configurez votre IdP SAML pour prendre en **charge le flux de déconnexion, Amazon** Cognito redirige votre utilisateur avec une demande de déconnexion SAML signée vers votre IdP. Amazon Cognito détermine l'emplacement de la redirection à partir de l'`SingleLogoutService`URL figurant dans les métadonnées de votre IdP. Amazon Cognito signe la demande de déconnexion avec le certificat de signature de votre groupe d'utilisateurs.

![\[Schéma du flux d'authentification lors de la déconnexion SAML d'Amazon Cognito. L'utilisateur demande la déconnexion et Amazon Cognito le redirige vers son fournisseur avec une demande de déconnexion SAML.\]](http://docs.aws.amazon.com/fr_fr/cognito/latest/developerguide/images/scenario-authentication-saml-sign-out.png)


Lorsque vous dirigez un utilisateur disposant d'une session SAML vers le point de `/logout` terminaison de votre groupe d'utilisateurs, Amazon Cognito redirige votre utilisateur SAML avec la demande suivante vers le point de terminaison SLO spécifié dans les métadonnées de l'IdP.

```
https://[SingleLogoutService endpoint]?
SAMLRequest=[encoded SAML request]&
RelayState=[RelayState]&
SigAlg=http://www.w3.org/2001/04/xmldsig-more#rsa-sha256&
Signature=[User pool RSA signature]
```

Votre utilisateur retourne ensuite sur votre `saml2/logout` terminal avec un identifiant `LogoutResponse` provenant de son IdP. Votre IdP doit envoyer une `LogoutResponse` `HTTP POST` demande. Amazon Cognito les redirige ensuite vers la destination de redirection depuis leur demande de déconnexion initiale.

Votre fournisseur SAML peut envoyer un fichier `LogoutResponse` contenant plusieurs `AuthnStatement` fichiers. Le `sessionIndex` premier `AuthnStatement` élément d'une réponse de ce type doit correspondre `sessionIndex` à celui de la réponse SAML qui a initialement authentifié l'utilisateur. S'il se `sessionIndex` trouve dans une autre session`AuthnStatement`, Amazon Cognito ne reconnaîtra pas la session et votre utilisateur ne sera pas déconnecté.

------
#### [ AWS Management Console ]

**Pour configurer la déconnexion SAML**

1. Créez un [groupe d'utilisateurs](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html), un [client d'application](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-configuring-app-integration.html) et un IdP SAML.

1. Lorsque vous créez ou modifiez votre fournisseur d'identité SAML, sous **Informations sur le fournisseur d'identité**, cochez la case intitulée **Ajouter un flux de déconnexion.**

1. Dans le menu **Réseaux sociaux et fournisseurs externes** de votre groupe d'utilisateurs, choisissez votre IdP et recherchez le certificat de **signature**.

1. Choisissez **Télécharger au format .crt.**

1. Configurez votre fournisseur SAML pour qu'il prenne en charge la déconnexion unique et la signature des demandes SAML, et téléchargez le certificat de signature du groupe d'utilisateurs. Votre IdP doit être redirigé vers le domaine `/saml2/logout` de votre groupe d'utilisateurs.

------
#### [ API/CLI ]

**Pour configurer la déconnexion SAML**

Configurez une déconnexion unique avec le `IDPSignout` paramètre d'une requête [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)ou d'une demande d'[UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)API. Voici un exemple `ProviderDetails` d'IdP qui prend en charge la déconnexion unique SAML.

```
"ProviderDetails": { 
      "MetadataURL" : "https://myidp.example.com/saml/metadata",
      "IDPSignout" : "true",,
      "RequestSigningAlgorithm" : "rsa-sha256",
      "EncryptedResponses" : "true",
      "IDPInit" : "true"
}
```

------

# Signature et chiffrement SAML
<a name="cognito-user-pools-SAML-signing-encryption"></a>

La connexion SAML 2.0 est construite autour de l'utilisateur d'une application en tant que porteur de demandes et de réponses dans son flux d'authentification. Vous voudrez peut-être vous assurer que les utilisateurs ne lisent ou ne modifient pas ces documents SAML en transit. Pour ce faire, ajoutez la signature et le chiffrement SAML aux fournisseurs d'identité SAML (IdPs) de votre groupe d'utilisateurs. Avec la signature SAML, vos groupes d'utilisateurs ajoutent une signature aux demandes de connexion et de déconnexion SAML. Avec la clé publique de votre groupe d'utilisateurs, votre IdP peut vérifier qu'il reçoit des demandes SAML non modifiées. Ensuite, lorsque votre IdP répond et transmet des assertions SAML aux sessions de navigation des utilisateurs, l'IdP peut chiffrer cette réponse afin que l'utilisateur ne puisse pas inspecter ses propres attributs et droits.

Avec la signature et le chiffrement SAML, toutes les opérations cryptographiques effectuées pendant les opérations SAML du pool d'utilisateurs doivent générer des signatures et du texte chiffré à l'aide des clés générées par user-pool-provided Amazon Cognito. Actuellement, vous ne pouvez pas configurer un groupe d'utilisateurs pour signer des demandes ou accepter des assertions chiffrées avec une clé externe.

**Note**  
Les certificats de votre groupe d'utilisateurs sont valides pendant 10 ans. Une fois par an, Amazon Cognito génère de nouveaux certificats de signature et de chiffrement pour votre groupe d'utilisateurs. Amazon Cognito renvoie le certificat le plus récent lorsque vous demandez le certificat de signature, et signe les demandes avec le certificat de signature le plus récent. Votre IdP peut chiffrer les assertions SAML avec n'importe quel certificat de chiffrement de groupe d'utilisateurs qui n'est pas expiré. Vos anciens certificats restent valides pendant toute leur durée et la clé publique ne change pas d'un certificat à l'autre. Il est recommandé de mettre à jour le certificat dans la configuration de votre fournisseur chaque année.

**Topics**
+ [Accepter les réponses SAML cryptées de votre IdP](#cognito-user-pools-SAML-encryption)
+ [Signature de requêtes SAML](#cognito-user-pools-SAML-signing)

## Accepter les réponses SAML cryptées de votre IdP
<a name="cognito-user-pools-SAML-encryption"></a>

Amazon Cognito et votre IdP peuvent garantir la confidentialité des réponses SAML lorsque les utilisateurs se connectent et se déconnectent. Amazon Cognito attribue une paire de clés RSA publique-privée et un certificat à chaque fournisseur SAML externe que vous configurez dans votre groupe d'utilisateurs. Lorsque vous activez le chiffrement des réponses pour le fournisseur SAML de votre groupe d'utilisateurs, vous devez télécharger votre certificat sur un IdP qui prend en charge les réponses SAML chiffrées. La connexion de votre groupe d'utilisateurs à votre IdP SAML ne fonctionne pas avant que celui-ci ne commence à chiffrer toutes les assertions SAML avec la clé fournie.

Vous trouverez ci-dessous un aperçu du flux d'une connexion SAML cryptée.

1. Votre utilisateur commence à se connecter et choisit son IdP SAML.

1. Votre groupe d'utilisateurs [Point de terminaison d’autorisation](authorization-endpoint.md) redirige votre utilisateur vers son IdP SAML avec une demande de connexion SAML. Votre groupe d'utilisateurs peut éventuellement accompagner cette demande d'une signature permettant la vérification de l'intégrité par l'IdP. Lorsque vous souhaitez signer des demandes SAML, vous devez configurer votre IdP pour accepter les demandes que votre groupe d'utilisateurs a signées avec la clé publique figurant dans le certificat de signature.

1. L'IdP SAML connecte votre utilisateur et génère une réponse SAML. L'IdP chiffre la réponse avec la clé publique et redirige votre utilisateur vers le point de terminaison de votre groupe d'utilisateurs. `/saml2/idpresponse` L'IdP doit chiffrer la réponse conformément à la spécification SAML 2.0. Pour plus d'informations, consultez `Element <EncryptedAssertion>` la section [Assertions et protocoles pour le langage de balisage d'assertions de sécurité (SAML) OASIS](https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf) V2.0.

1. Votre groupe d'utilisateurs déchiffre le texte chiffré dans la réponse SAML à l'aide de la clé privée et signe votre utilisateur.

**Important**  
Lorsque vous activez le chiffrement des réponses pour un IdP SAML dans votre groupe d'utilisateurs, celui-ci doit chiffrer toutes les réponses avec une clé publique spécifique au fournisseur. Amazon Cognito n'accepte pas les réponses SAML non chiffrées provenant d'un IdP externe SAML que vous configurez pour prendre en charge le chiffrement. 

Tout IdP SAML externe de votre groupe d'utilisateurs peut prendre en charge le chiffrement des réponses, et chaque IdP reçoit sa propre paire de clés.

------
#### [ AWS Management Console ]

**Pour configurer le chiffrement des réponses SAML**

1. Créez un [groupe d'utilisateurs](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html), un [client d'application](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-configuring-app-integration.html) et un IdP SAML.

1. Lorsque vous créez ou modifiez votre fournisseur d'identité SAML, sous **Signer les demandes et chiffrer les réponses**, cochez la case intitulée **Exiger des assertions SAML chiffrées** de la part de ce fournisseur.

1. Dans le menu **Réseaux sociaux et fournisseurs externes** de votre groupe d'utilisateurs, sélectionnez votre idP SAML et **choisissez Afficher** le certificat de chiffrement.

1. Choisissez **Télécharger au format .crt** et fournissez le fichier téléchargé à votre IdP SAML. Configurez votre IdP SAML pour chiffrer les réponses SAML avec la clé du certificat.

------
#### [ API/CLI ]

**Pour configurer le chiffrement des réponses SAML**

Configurez le chiffrement des réponses avec le `EncryptedResponses` paramètre d'une requête [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)ou d'une demande d'[UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)API. Voici un exemple `ProviderDetails` d'IdP qui prend en charge la signature des demandes.

```
"ProviderDetails": { 
      "MetadataURL" : "https://myidp.example.com/saml/metadata",
      "IDPSignout" : "true",
      "RequestSigningAlgorithm" : "rsa-sha256",
      "EncryptedResponses" : "true",
      "IDPInit" : "true"
}
```

Pour obtenir le certificat de chiffrement auprès de votre groupe d'utilisateurs, effectuez une demande d'[DescribeIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeIdentityProvider.html)API et récupérez la valeur de `ActiveEncryptionCertificate` dans le paramètre de réponse`ProviderDetails`. Enregistrez ce certificat et fournissez-le à votre IdP en tant que certificat de chiffrement pour les demandes de connexion de votre groupe d'utilisateurs.

------

## Signature de requêtes SAML
<a name="cognito-user-pools-SAML-signing"></a>

La capacité à prouver l'intégrité des requêtes SAML 2.0 adressées à votre IdP constitue un avantage de sécurité de la connexion SAML initiée par Amazon Cognito SP. Chaque groupe d'utilisateurs doté d'un domaine reçoit un certificat de signature X.509 du groupe d'utilisateurs. Avec la clé publique contenue dans ce certificat, les groupes d'utilisateurs appliquent une signature cryptographique aux *demandes de déconnexion* que votre groupe d'utilisateurs génère lorsque vos utilisateurs sélectionnent un IdP SAML. Vous pouvez éventuellement configurer votre client d'application pour signer les demandes de *connexion* SAML. Lorsque vous signez vos demandes SAML, votre IdP peut vérifier que la signature figurant dans les métadonnées XML de vos demandes correspond à la clé publique figurant dans le certificat de groupe d'utilisateurs que vous fournissez.

------
#### [ AWS Management Console ]

**Pour configurer la signature des demandes SAML**

1. Créez un [groupe d'utilisateurs](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html), un [client d'application](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-configuring-app-integration.html) et un IdP SAML.

1. Lorsque vous créez ou modifiez votre fournisseur d'identité SAML, sous **Signer les demandes et chiffrer les réponses**, cochez la case intitulée **Signer les demandes SAML à ce** fournisseur.

1. Dans le menu **Réseaux sociaux et fournisseurs externes** de votre groupe d'utilisateurs, choisissez **Afficher le certificat de signature**.

1. Choisissez **Télécharger au format .crt** et fournissez le fichier téléchargé à votre IdP SAML. Configurez votre IdP SAML pour vérifier la signature des demandes SAML entrantes.

------
#### [ API/CLI ]

**Pour configurer la signature des demandes SAML**

Configurez la signature des demandes avec le `RequestSigningAlgorithm` paramètre d'une demande [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)ou d'une demande d'[UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)API. Voici un exemple `ProviderDetails` d'IdP qui prend en charge la signature des demandes.

```
"ProviderDetails": { 
      "MetadataURL" : "https://myidp.example.com/saml/metadata",
      "IDPSignout" : "true",
      "RequestSigningAlgorithm" : "rsa-sha256",
      "EncryptedResponses" : "true",
      "IDPInit" : "true"
}
```

------

# Noms et identifiants des fournisseurs d'identité SAML
<a name="cognito-user-pools-managing-saml-idp-naming"></a>

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](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html#CognitoUserPools-CreateIdentityProvider-request-ProviderName).

![\[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.\]](http://docs.aws.amazon.com/fr_fr/cognito/latest/developerguide/images/scenario-authentication-saml-identifier.png)


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](authorization-endpoint.md) 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.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é 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` et`exampleA.co.uk`. La deuxième société, AnyCompany B, est propriétaire`exampleB.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](authorization-endpoint.md) `idp_identifier` Par exemple, si un utilisateur entre`bob@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.\]](http://docs.aws.amazon.com/fr_fr/cognito/latest/developerguide/images/cup-saml-identifiers.png)


**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 l'éditeur 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](cognito-user-pools-identity-provider.md).