

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.

# Configuration d’assertions SAML pour la réponse d’authentification
<a name="id_roles_providers_create_saml_assertions"></a>

Après avoir vérifié l'identité d'un utilisateur dans votre organisation, le fournisseur d'identité externe (IdP) envoie une réponse d'authentification à l'URL du point de terminaison de AWS connexion. La réponse est une demande POST incluant un jeton SAML conforme à la norme de [liaison HTTP POST pour SAML 2.0](http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf) et contenant les éléments suivants, ou *demandes*. Vous les configurez dans votre IdP compatible avec SAML. Pour obtenir des instructions sur la procédure visant à entrer ces demandes, consultez la documentation de votre IdP.

Lorsque l'IdP envoie la réponse contenant les demandes à AWS, de nombreuses demandes entrantes sont associées à des clés de AWS contexte. Ces clés de contexte peuvent être vérifiées dans les politiques IAM à l'aide de l'élément `Condition`. Pour obtenir une liste des mappages disponibles, consultez la section [Mappage des attributs SAML avec des clés AWS contextuelles de politique de confiance](#saml-attribute-mapping).

## `Subject` et `NameID`
<a name="saml_subject-name-id"></a>

La réponse doit inclure exactement 1 élément `SubjectConfirmation` avec un élément `SubjectConfirmationData` comprenant à la fois l’attribut `NotOnOrAfter` et un attribut `Recipient`. L'attribut Recipient doit inclure une valeur correspondant à l'URL du point de terminaison de AWS connexion. Votre IdP peut utiliser le terme `ACS``Recipient`, ou `Target` pour faire référence à cet attribut.

Si le chiffrement SAML est obligatoire, l’URL de connexion doit inclure l’identifiant unique qu’ AWS attribue à votre fournisseur SAML, que vous trouverez sur la page de détails du fournisseur d’identité. L’exemple suivant montre le format d’URL de connexion avec la `region-code` facultative.

`https://region-code.signin.aws.amazon.com/saml`

Dans l’exemple suivant, l’URL de connexion comprend un identifiant unique, qui nécessite l’ajout de /acs/ au chemin d’accès de connexion.

`https://region-code.signin.aws.amazon.com/saml/acs/IdP-ID`

Pour obtenir la liste des *region-code* valeurs possibles, consultez la colonne **Région** dans les points de [terminaison de AWS connexion](https://docs.aws.amazon.com/general/latest/gr/signin-service.html). Pour la AWS valeur, vous pouvez également utiliser le point de terminaison `https://signin.aws.amazon.com/saml` de connexion global.

Les éléments `NameID` peuvent avoir la valeur persistante, transitoire ou consister en l'URI de format complet tel que fourni par la solution d'IdP. La valeur persistante indique que la valeur dans `NameID` reste la même pour l'utilisateur entre les sessions. Si la valeur est transitoire, l'utilisateur a une valeur `NameID` différente pour chaque session. Les interactions avec authentification unique prennent en charge les types d'identifiants suivants :
+ `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`
+ `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`
+ `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`
+ `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`
+ `urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName`
+ `urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName`
+ `urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos`
+ `urn:oasis:names:tc:SAML:2.0:nameid-format:entity`

L'extrait suivant en présente un exemple. Substituez vos propres valeurs avec les valeurs marquées.

```
<Subject>
  <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">_cbb88bf52c2510eabe00c1642d4643f41430fe25e3</NameID>
  <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
    <SubjectConfirmationData NotOnOrAfter="2013-11-05T02:06:42.876Z" Recipient="https://region-code.signin.aws.amazon.com/saml/SAMLSP4SHN3UIS2D558H46"/>
  </SubjectConfirmation>
</Subject>
```

**Important**  
La clé de contexte `saml:aud` vient de l'attribut *destinataire* SAML, qui est l'équivalent SAML du champ d'audience d'OIDC, par exemple `accounts.google.com:aud`.

## Attribut SAML `PrincipalTag`
<a name="saml_role-session-tags"></a>

(Facultatif) Vous pouvez utiliser un élément `Attribute` dont l'attribut `Name` est défini sur `https://aws.amazon.com/SAML/Attributes/PrincipalTag:{TagKey}`. Cet élément vous permet de transmettre des attributs en tant que balises de session dans l'assertion SAML. Pour de plus amples informations sur les balises de session, veuillez consulter [Transmettez les tags de session AWS STS](id_session-tags.md).

Pour transmettre des attributs en tant que balises de session, incluez l'élément `AttributeValue` qui spécifie la valeur de la balise. Par exemple, pour transmettre les paires clé-valeur de balise `Project` = `Marketing` et `CostCenter` = `12345`, utilisez l'attribut suivant. Incluez un élément `Attribute` distinct pour chaque balise.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Project">
  <AttributeValue>Marketing</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:CostCenter">
  <AttributeValue>12345</AttributeValue>
</Attribute>
```

Pour définir les balises ci-dessus comme transitives, incluez un autre élément `Attribute` dont l'attribut `Name` est défini sur `https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys`. Il s'agit d'un attribut facultatif à valeurs multiples qui définit vos balises de session comme transitives. Les balises transitives persistent lorsque vous utilisez la session SAML pour endosser un autre rôle dans AWS. Ceci est connu sous le nom de [chaînage de rôles](id_roles.md#iam-term-role-chaining). Par exemple, pour définir les balises `Principal` et `CostCenter` comme transitives, utilisez l'attribut suivant pour spécifier les clés.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys">
  <AttributeValue>Project</AttributeValue>
  <AttributeValue>CostCenter</AttributeValue>
</Attribute>
```

## Attribut SAML `Role`
<a name="saml_role-attribute"></a>

Vous pouvez utiliser un élément `Attribute` avec l'attribut `Name` défini sur `https://aws.amazon.com/SAML/Attributes/Role` Cet élément contient un ou plusieurs éléments `AttributeValue` qui répertorient le fournisseur d'identité et le rôle IAM auxquels l'utilisateur est mappé par votre IdP. [Le rôle IAM et le fournisseur d'identité IAM sont spécifiés sous la forme d'une paire séparée par des ARNs virgules au même format que les `PrincipalArn` paramètres `RoleArn` et transmis au SAML. AssumeRoleWith](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) Cet élément doit contenir au moins une paire de fournisseur de rôles (élément `AttributeValue`) et peut contenir plusieurs paires. Si l'élément contient plusieurs paires, l'utilisateur doit choisir le rôle à endosser lorsqu'il utilise WebSSO afin de se connecter à la AWS Management Console.

**Important**  
La valeur de l'attribut `Name` dans la balise `Attribute` est sensible à la casse. Il doit être défini sur `https://aws.amazon.com/SAML/Attributes/Role` précisément.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/Role">
  <AttributeValue>arn:aws:iam::account-number:role/role-name1,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue>
  <AttributeValue>arn:aws:iam::account-number:role/role-name2,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue>
  <AttributeValue>arn:aws:iam::account-number:role/role-name3,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue>
</Attribute>
```

## Attribut SAML `RoleSessionName`
<a name="saml_role-session-attribute"></a>

Vous pouvez utiliser un élément `Attribute` avec l'attribut `Name` défini sur `https://aws.amazon.com/SAML/Attributes/RoleSessionName` Cet élément contient un élément `AttributeValue` qui fournit un identifiant pour les informations d'identification temporaires qui sont émises lorsque le rôle est endossé. Vous pouvez l'utiliser pour associer les informations d'identification temporaires à l'utilisateur qui utilise votre application. Cet élément est utilisé pour afficher les informations utilisateur dans le AWS Management Console. La valeur de l'élément `AttributeValue` doit comporter entre 2 et 64 caractères. Elle ne peut contenir que des caractères alphanumériques, des traits de soulignement et les caractères suivants : **. , \$1 = @ -** (tiret). Il ne doit pas contenir d'espace. La valeur est généralement un ID utilisateur (`john`) ou une adresse e-mail (`johndoe@example.com`). Il ne peut pas contenir d'espace, comme dans le nom complet de l'utilisateur (`John Doe`).

**Important**  
La valeur de l'attribut `Name` dans la balise `Attribute` est sensible à la casse. Il doit être défini sur `https://aws.amazon.com/SAML/Attributes/RoleSessionName` précisément.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/RoleSessionName">
  <AttributeValue>user-id-name</AttributeValue>
</Attribute>
```

## Attribut SAML `SessionDuration`
<a name="saml_role-session-duration"></a>

(Facultatif) Vous pouvez utiliser un élément `Attribute` dont l'attribut `Name` est défini sur `https://aws.amazon.com/SAML/Attributes/SessionDuration`. Cet élément contient un `AttributeValue` élément qui indique pendant combien de temps l'utilisateur peut accéder au AWS Management Console avant de devoir demander de nouvelles informations d'identification temporaires. La valeur est un nombre entier représentant le nombre de secondes pour la session. La valeur peut être comprise entre 900 secondes (15 minutes) et 43 200 secondes (12 heures). Si cet attribut n'est pas présent, la durée des informations d'identification est d'une d'heure (valeur par défaut du paramètre `DurationSeconds` de l'API `AssumeRoleWithSAML`).

Pour utiliser cet attribut, vous devez configurer le fournisseur SAML de manière à fournir un accès AWS Management Console par authentification unique au point de terminaison Web de connexion à la console à l'adresse. `https://region-code.signin.aws.amazon.com/saml` Pour obtenir la liste des *region-code* valeurs possibles, consultez la colonne **Région** dans les points de [terminaison de AWS connexion](https://docs.aws.amazon.com/general/latest/gr/signin-service.html). Vous pouvez éventuellement utiliser l'URL suivante : `https://signin.aws.amazon.com/static/saml`. Notez que cet attribut prolonge les sessions uniquement à la AWS Management Console. Il ne peut pas prolonger la durée de vie des autres informations d'identification. Cependant, s'il est présent dans un appel d'API `AssumeRoleWithSAML`, il peut être utilisé pour *raccourcir* la durée de la session. La durée de vie par défaut des informations d'identification renvoyées par l'appel est de 60 minutes. 

Notez également que si un attribut `SessionNotOnOrAfter` est également défini, la valeur la ***plus faible*** des deux attributs `SessionDuration` ou `SessionNotOnOrAfter` établit la durée maximale de la session de console.

Lorsque vous activez les sessions de console avec une durée prolongée, le risque de divulgation des informations d'identification augmente. Pour vous aider à réduire ce risque, vous pouvez immédiatement désactiver les sessions de console actives pour un rôle en sélectionnant **Revoke Sessions** (Révoquer les sessions) sur la page **Role Summary** (Résumé du rôle) de la console IAM. Pour plus d'informations, veuillez consulter [Révocation des informations d’identification de sécurité temporaires d’un rôle IAM](id_roles_use_revoke-sessions.md). 

**Important**  
La valeur de l'attribut `Name` dans la balise `Attribute` est sensible à la casse. Il doit être défini sur `https://aws.amazon.com/SAML/Attributes/SessionDuration` précisément.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/SessionDuration">
  <AttributeValue>1800</AttributeValue>
</Attribute>
```

## Attribut SAML `SourceIdentity`
<a name="saml_sourceidentity"></a>

(Facultatif) Vous pouvez utiliser un élément `Attribute` dont l'attribut `Name` est défini sur `https://aws.amazon.com/SAML/Attributes/SourceIdentity`. Cet élément contient un élément `AttributeValue` qui fournit un identifiant pour la personne ou l'application qui utilise un rôle IAM. La valeur de l'identité source est conservée lorsque vous utilisez la session SAML pour assumer un autre rôle AWS connu sous le nom de [chaînage de rôles](id_roles.md#iam-term-role-chaining). La valeur de l'identité source est présente dans la demande pour chaque action effectuée durant la session de rôle. La valeur définie ne peut pas être modifiée durant la session de rôle. Les administrateurs peuvent ensuite utiliser AWS CloudTrail les journaux pour surveiller et auditer les informations d'identité source afin de déterminer qui a effectué des actions avec des rôles partagés.

La valeur de l'élément `AttributeValue` doit comporter entre 2 et 64 caractères. Elle ne peut contenir que des caractères alphanumériques, des traits de soulignement et les caractères suivants : **. , \$1 = @ -** (tiret). Il ne doit pas contenir d'espace. La valeur est généralement un attribut associé à l'utilisateur, comme un id utilisateur (`john`) ou une adresse e-mail (`johndoe@example.com`). Il ne peut pas contenir d'espace, comme dans le nom complet de l'utilisateur (`John Doe`). Pour de plus amples informations sur l'utilisation de l'identité source, veuillez consulter [Surveiller et contrôler les actions prises avec les rôles endossés](id_credentials_temp_control-access_monitor.md).

**Important**  
Si votre assertion SAML est configurée pour utiliser l'attribut [`SourceIdentity`](#saml_sourceidentity), votre politique d'approbation de rôle doit également inclure l'action `sts:SetSourceIdentity`, sinon l'opération endosser le rôle échouera. Pour de plus amples informations sur l'utilisation de l'identité source, veuillez consulter [Surveiller et contrôler les actions prises avec les rôles endossés](id_credentials_temp_control-access_monitor.md).

Pour transmettre un attribut d'identité source, incluez l'élément `AttributeValue` qui spécifie la valeur de l'identité source. Par exemple, pour transmettre l'identité source `Diego`, utilisez l'attribut suivant.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/SourceIdentity">
  <AttributeValue>Diego</AttributeValue>
```

## Mappage des attributs SAML avec des clés AWS contextuelles de politique de confiance
<a name="saml-attribute-mapping"></a>

Les tableaux de cette section répertorient les attributs SAML utilisés couramment et leur correspondance avec les clés de contexte de condition de politique d'approbation dans AWS. Vous pouvez utiliser ces clés pour contrôler l'accès à un rôle. Pour ce faire, comparez les clés aux valeurs incluses dans les assertions qui accompagnent une demande d'accès SAML.

**Important**  
Ces clés sont disponibles uniquement dans les politiques d'approbation IAM (politiques qui déterminent qui peut endosser un rôle) et ne sont pas applicables aux politiques d'autorisations.

Dans le tableau des attributs eduPerson et eduOrg, les valeurs sont saisies sous forme de chaînes ou de listes de chaînes. Pour les valeurs de chaînes, vous pouvez tester ces valeurs dans des politiques d'approbation IAM à l'aide des conditions `StringEquals` ou `StringLike`. Concernant les valeurs qui contiennent une liste de chaînes, vous pouvez utiliser les [opérateurs d'ensemble de politique](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys) `ForAnyValue` et `ForAllValues` pour tester les valeurs dans les politiques de confiance.

**Note**  
Vous ne devez inclure qu'une seule réclamation par clé de AWS contexte. Si vous incluez plusieurs demandes, une seule d'entre elles sera mappée. 

Le tableau suivant présente les attributs eduPerson et eduOrg.


| Attribut eduPerson ou eduOrg (`Name` clé) | Correspond à cette clé AWS contextuelle (`FriendlyName`clé) | Type | 
| --- | --- | --- | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.1`   |   `eduPersonAffiliation`   |  Liste de chaînes  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.2`   |   `eduPersonNickname`   |  Liste de chaînes  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.3`   |   `eduPersonOrgDN`   |  String  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.4`   |   `eduPersonOrgUnitDN`   |  Liste de chaînes  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.5`   |   `eduPersonPrimaryAffiliation`   |  String  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.6`   |   `eduPersonPrincipalName`   |  String  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.7`   |   `eduPersonEntitlement`   |  Liste de chaînes  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.8`   |   `eduPersonPrimaryOrgUnitDN`   |  String  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.9`   |   `eduPersonScopedAffiliation`   |  Liste de chaînes  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.10`   |   `eduPersonTargetedID`   |  Liste de chaînes  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.11`   |   `eduPersonAssurance`   |  Liste de chaînes  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.2.1.2`   |   `eduOrgHomePageURI`   |  Liste de chaînes  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.2.1.3`   |   `eduOrgIdentityAuthNPolicyURI`   |  Liste de chaînes  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.2.1.4`   |   `eduOrgLegalName`   |  Liste de chaînes  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.2.1.5`   |   `eduOrgSuperiorURI`   |  Liste de chaînes  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.2.1.6`   |   `eduOrgWhitePagesURI`   |  Liste de chaînes  | 
|   `urn:oid:2.5.4.3`   |   `cn`   |  Liste de chaînes  | 

Le tableau suivant présente les attributs Active Directory.


| Attribut AD | Cartes correspondant à cette clé de AWS contexte | Type | 
| --- | --- | --- | 
|  `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name`  |  `name`  |  Chaîne  | 
|  `http://schemas.xmlsoap.org/claims/CommonName`  |  `commonName`  |  Chaîne  | 
|  `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname`  |  `givenName`  |  Chaîne  | 
|  `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname`  |  `surname`  |  Chaîne  | 
|  `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`  |  `mail`  |  Chaîne  | 
|  `http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid`  |  `uid`  |  String  | 

Le tableau suivant présente les attributs X.500.


| Attribut X.500 | Cartes correspondant à cette clé de AWS contexte | Type | 
| --- | --- | --- | 
|  `2.5.4.3`  |  `commonName`  |  Chaîne  | 
|  `2.5.4.4`  |  `surname`  |  Chaîne  | 
|  `2.4.5.42`  |  `givenName`  |  Chaîne  | 
|  `2.5.4.45`  |  `x500UniqueIdentifier`  |  Chaîne  | 
|  `0.9.2342.19200300100.1.1`  |  `uid`  |  Chaîne  | 
|  `0.9.2342.19200300100.1.3`  |  `mail`  |  Chaîne  | 
|  `0.9.2342.19200300.100.1.45`  |  `organizationStatus`  |  String  | 