

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.

# Assumer le rôle de fournisseur d'informations d'identification
<a name="feature-assume-role-credentials"></a>

**Note**  
Pour vous aider à comprendre la mise en page des pages de paramètres ou à interpréter le tableau **Support by AWS SDKs et outils** ci-dessous, voir[Comprendre les pages de paramètres de ce guide](settings-reference.md#settingsPages).

Assumer un rôle implique l'utilisation d'un ensemble d'informations d'identification de sécurité temporaires pour accéder à AWS des ressources auxquelles vous n'auriez peut-être pas accès autrement. Ces informations d'identification temporaires incluent un ID de clé d'accès, une clé d'accès secrète et un jeton de sécurité. 

Pour configurer votre SDK ou votre outil afin qu'il assume un rôle, vous devez d'abord créer ou identifier un *rôle* spécifique à assumer. Les rôles IAM sont identifiés de manière unique par un rôle Amazon Resource Name ([ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)). Les rôles établissent des relations de confiance avec une autre entité. L'entité de confiance qui utilise le rôle peut être un Service AWS fournisseur d'identité Web Compte AWS, une fédération OIDC ou SAML. 

Une fois le rôle IAM identifié, si ce rôle vous fait confiance, vous pouvez configurer votre SDK ou votre outil pour utiliser les autorisations accordées par le rôle. Pour ce faire, utilisez les paramètres suivants. 

Pour savoir comment commencer à utiliser ces paramètres, consultez [Assumer un rôle avec des AWS informations d'identification pour l'authentification AWS SDKs et des outils](access-assume-role.md) ce guide.

## Paramètres du fournisseur d'informations d'identification du rôle
<a name="feature-assume-role-credentials-settings"></a>

Configurez cette fonctionnalité à l'aide des méthodes suivantes :

**`credential_source`- réglage AWS `config` du fichier partagé**  
Utilisé dans les instances Amazon EC2 ou les conteneurs Amazon Elastic Container Service pour spécifier où le SDK ou l'outil peut trouver les informations d'identification autorisées à assumer le rôle que vous spécifiez avec le paramètre. `role_arn`  
**Valeur par défaut :** Aucune  
**Valeurs valides**:  
+ **Environnement** — Spécifie que le SDK ou l'outil doit récupérer les informations d'identification de la source à partir des variables d'environnement [`AWS_ACCESS_KEY_ID`et `AWS_SECRET_ACCESS_KEY`](feature-static-credentials.md).
+ **Ec2 InstanceMetadata** — Spécifie que le SDK ou l'outil doit utiliser le [rôle IAM attaché au profil d'instance EC2 pour obtenir les informations](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) d'identification de la source.
+ **EcsContainer**— Spécifie que le SDK ou l'outil doit utiliser le rôle [IAM attaché au conteneur Amazon ECS ou le rôle IAM attaché au conteneur](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html) [Amazon EKS pour obtenir les informations](https://docs.aws.amazon.com/eks/latest/userguide/security-iam-service-with-iam.html) d'identification de la source.
Vous ne pouvez pas spécifier à la fois `credential_source` et `source_profile` dans le même profil.  
Exemple de définition de ce paramètre dans un `config` fichier pour indiquer que les informations d'identification doivent provenir d'Amazon EC2 :  

```
credential_source = Ec2InstanceMetadata
role_arn = arn:aws:iam::123456789012:role/my-role-name
```

**`duration_seconds`- réglage AWS `config` du fichier partagé**  
Spécifie la durée maximale de la session de rôle, en secondes.  
Ce paramètre s'applique uniquement lorsque le profil indique d'assumer un rôle.   
**Valeur par défaut :** 3 600 secondes (une heure)  
**Valeurs valides :** La valeur peut aller de 900 secondes (15 minutes) à la durée maximale de session configurée pour le rôle (qui peut être de 43 200 secondes ou 12 heures au maximum). Pour plus d'informations, voir [Afficher le paramètre de durée maximale de session pour un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) dans le *guide de l'utilisateur IAM*.  
Exemple de configuration de ce paramètre dans un `config` fichier :  

```
duration_seconds = 43200
```

**`external_id`- réglage AWS `config` du fichier partagé**  
Identifiant unique utilisé par des tiers pour assumer un rôle dans les comptes de leurs clients.  
Ce paramètre s'applique uniquement lorsque le profil indique d'assumer un rôle et que la politique de confiance associée à ce rôle nécessite une valeur pour`ExternalId`. La valeur correspond au `ExternalId` paramètre transmis à l'`AssumeRole`opération lorsque le profil spécifie un rôle.   
**Valeur par défaut :** Aucune.   
**Valeurs valides :** consultez la section [Comment utiliser un identifiant externe lorsque vous accordez l'accès à vos AWS ressources à un tiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) dans le *guide de l'utilisateur IAM*.  
Exemple de configuration de ce paramètre dans un `config` fichier :  

```
external_id = unique_value_assigned_by_3rd_party
```

**`mfa_serial`- réglage AWS `config` du fichier partagé**  
Spécifie l'identification ou le numéro de série d'un dispositif d'authentification multifactorielle (MFA) que l'utilisateur doit utiliser lorsqu'il assume un rôle.  
Obligatoire lorsque vous assumez un rôle où la politique de confiance associée à ce rôle inclut une condition nécessitant une authentification MFA. *Pour plus d'informations sur l'authentification multifactorielle, consultez la section [Authentification AWS multifactorielle dans le guide de l'utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html).*   
**Valeur par défaut :** Aucune.   
**Valeurs valides :** la valeur peut être soit un numéro de série pour un périphérique matériel (tel que`GAHT12345678`), soit un Amazon Resource Name (ARN) pour un périphérique MFA virtuel. Le format de l'ARN est le suivant : `arn:aws:iam::account-id:mfa/mfa-device-name`  
Exemple de configuration de ce paramètre dans un `config` fichier :  
Cet exemple suppose qu'un périphérique MFA virtuel, appelé`MyMFADevice`, a été créé pour le compte et activé pour un utilisateur.  

```
mfa_serial = arn:aws:iam::123456789012:mfa/MyMFADevice
```

**`role_arn`- réglage AWS `config` du fichier partagé`AWS_ROLE_ARN`- variable d'environnement`aws.roleArn`- Propriété du système JVM : uniquement Java/Kotlin **  
Spécifie le nom de ressource Amazon (ARN) d'un rôle IAM que vous souhaitez utiliser pour effectuer les opérations demandées à l'aide de ce profil.  
**Valeur par défaut :** Aucune.   
**Valeurs valides :** la valeur doit être l'ARN d'un rôle IAM, formaté comme suit : `arn:aws:iam::account-id:role/role-name`  
 En outre, vous devez également définir **l'un** des paramètres suivants :  
+ `source_profile`— Pour identifier un autre profil à utiliser pour trouver les informations d'identification autorisées à assumer le rôle dans ce profil.
+ `credential_source`— Pour utiliser les informations d'identification identifiées par les variables d'environnement actuelles ou les informations d'identification associées à un profil d'instance Amazon EC2 ou à une instance de conteneur Amazon ECS.
+ `web_identity_token_file`— Utiliser des fournisseurs d'identité publics ou tout autre fournisseur d'identité compatible avec OpenID Connect (OIDC) pour les utilisateurs authentifiés dans une application mobile ou Web.

**`role_session_name`- réglage AWS `config` du fichier partagé`AWS_ROLE_SESSION_NAME`- variable d'environnement`aws.roleSessionName`- Propriété du système JVM : uniquement Java/Kotlin **  
Spécifie le nom à attacher à la session de rôle. Ce nom apparaît dans AWS CloudTrail les journaux des entrées associées à cette session, ce qui peut être utile lors d'un audit. Pour plus de détails, consultez l'[élément CloudTrail UserIdentity](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html) dans le guide de l'*AWS CloudTrail utilisateur*.  
**Valeur par défaut :** paramètre facultatif. Si vous ne fournissez pas cette valeur, un nom de session est généré automatiquement si le profil assume un rôle.  
**Valeurs valides :** fournies au `RoleSessionName` paramètre lorsque l' AWS API AWS CLI or appelle l'`AssumeRole`opération (ou des opérations telles que l'`AssumeRoleWithWebIdentity`opération) en votre nom. La valeur fait partie du rôle assumé par l'utilisateur Amazon Resource Name (ARN) que vous pouvez interroger et apparaît dans les entrées du CloudTrail journal pour les opérations invoquées par ce profil.  
 `arn:aws:sts::123456789012:assumed-role/my-role-name/my-role_session_name`.  
Exemple de configuration de ce paramètre dans un `config` fichier :  

```
role_session_name = my-role-session-name
```

**`source_profile`- réglage AWS `config` du fichier partagé**  
Spécifie un autre profil dont les informations d'identification sont utilisées pour assumer le rôle spécifié par le `role_arn` paramètre du profil d'origine. Pour comprendre comment les profils sont utilisés dans le partage AWS `config` et `credentials` les fichiers, consultez[Partage `config` et `credentials` fichiers](file-format.md).  
Si vous spécifiez un profil qui est également un profil d'acceptation de rôle, chaque rôle sera assumé dans un ordre séquentiel afin de résoudre complètement les informations d'identification. Cette chaîne est arrêtée lorsque le SDK rencontre un profil avec des informations d'identification. Le chaînage des rôles limite votre session de rôle AWS CLI ou celle de l' AWS API à un maximum d'une heure et ne peut pas être augmenté. Pour plus d'informations, consultez la section [Termes et concepts relatifs aux rôles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) dans le *guide de l'utilisateur d'IAM*.  
**Valeur par défaut :** Aucune.  
**Valeurs valides :** chaîne de texte composée du nom d'un profil défini dans les `credentials` fichiers `config` et. Vous devez également spécifier une valeur pour `role_arn` dans le profil actuel.  
Vous ne pouvez pas spécifier à la fois `credential_source` et `source_profile` dans le même profil.  
Exemple de configuration dans un fichier de configuration :  

```
[profile A]
source_profile = B
role_arn =  arn:aws:iam::123456789012:role/RoleA
role_session_name = ProfileARoleSession
                
[profile B]
credential_process = ./aws_signing_helper credential-process --certificate /path/to/certificate --private-key /path/to/private-key --trust-anchor-arn arn:aws:rolesanywhere:region:account:trust-anchor/TA_ID --profile-arn arn:aws:rolesanywhere:region:account:profile/PROFILE_ID --role-arn arn:aws:iam::account:role/ROLE_ID
```
Dans l'exemple précédent, le `A` profil indique au SDK ou à l'outil de rechercher automatiquement les informations d'identification du `B` profil lié. Dans ce cas, le `B` profil utilise l'outil d'aide aux informations d'identification fourni par pour [Utilisation d'IAM Roles Anywhere pour l'authentification et les outils AWS SDKs](access-rolesanywhere.md) obtenir les informations d'identification du AWS SDK. Ces informations d'identification temporaires sont ensuite utilisées par votre code pour accéder aux AWS ressources. Le rôle spécifié doit être associé à des politiques d'autorisation IAM autorisant l'exécution du code demandé, par exemple la commande ou la méthode d'API. Service AWS Le nom de session du rôle est inclus dans les CloudTrail journaux pour chaque action entreprise par profil`A`.   
Pour un deuxième exemple de chaînage de rôles, la configuration suivante peut être utilisée si vous avez une application sur une instance Amazon Elastic Compute Cloud et que vous souhaitez que cette application assume un autre rôle.   

```
[profile A]
source_profile = B
role_arn =  arn:aws:iam::123456789012:role/RoleA
role_session_name = ProfileARoleSession
                
[profile B]
credential_source=Ec2InstanceMetadata
```
Le profil `A` utilisera les informations d'identification de l'instance Amazon EC2 pour assumer le rôle spécifié et les renouvellera automatiquement.  


**`web_identity_token_file`- réglage AWS `config` du fichier partagé`AWS_WEB_IDENTITY_TOKEN_FILE`- variable d'environnement`aws.webIdentityTokenFile`- Propriété du système JVM : uniquement Java/Kotlin **  
Spécifie le chemin d'accès à un fichier contenant un jeton d'accès provenant d'un [fournisseur OAuth 2.0 compatible ou d'un fournisseur](https://wikipedia.org/wiki/List_of_OAuth_providers) d'[identité OpenID Connect ID](https://openid.net/developers/certified/).  
Ce paramètre active l'authentification en utilisant des fournisseurs de fédération d'identité Web, tels que [Google](https://developers.google.com/identity/protocols/OAuth2), [Facebook](https://developers.facebook.com/docs/facebook-login/overview) et [Amazon](https://login.amazon.com/), entre autres. Le SDK ou l'outil de développement charge le contenu de ce fichier et le transmet comme `WebIdentityToken` argument lorsqu'il appelle l'`AssumeRoleWithWebIdentity`opération en votre nom.  
**Valeur par défaut :** Aucune.   
**Valeurs valides :** cette valeur doit être un chemin et un nom de fichier. Le fichier doit contenir un jeton d'accès OAuth 2.0 ou un jeton OpenID Connect qui vous a été fourni par un fournisseur d'identité. Les chemins relatifs sont traités comme relatifs au répertoire de travail du processus.

## Support par AWS SDKs et outils
<a name="assume-role-sdk-compat"></a>

Les éléments suivants SDKs prennent en charge les fonctionnalités et les paramètres décrits dans cette rubrique. Toute exception partielle est notée. Tous les paramètres de propriété du système JVM sont pris en charge par le AWS SDK pour Java et le AWS SDK pour Kotlin seul.


| Kit SDK | Pris en charge | Remarques ou informations supplémentaires | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | Oui |  | 
| [SDK pour C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | Partielle | credential\$1sourcenon pris en charge. duration\$1secondsnon pris en charge. mfa\$1serialnon pris en charge. | 
| [SDK pour Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | Oui |  | 
| [SDK pour Go 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | Oui | Pour utiliser les paramètres des config fichiers partagés, vous devez activer le chargement à partir du fichier de configuration ; voir [Sessions](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/). | 
| [SDK pour Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | Partielle | mfa\$1serialnon pris en charge. duration\$1secondsnon pris en charge. | 
| [SDK pour Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | Partielle | credential\$1sourcenon pris en charge. mfa\$1serialnon pris en charge. Les propriétés du système JVM ne sont pas prises en charge.  | 
| [SDK pour 3.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | Oui |  | 
| [SDK pour 2.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | Partielle | credential\$1sourcenon pris en charge. | 
| [SDK pour Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | Oui |  | 
| [SDK pour .NET 4.x](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | Oui |  | 
| [SDK pour .NET 3.x](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | Oui |  | 
| [SDK pour PHP 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | Oui |  | 
| [SDK pour Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | Oui |  | 
| [SDK pour Ruby 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | Oui |  | 
| [SDK pour Rust](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | Oui |  | 
| [SDK pour Swift](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | Oui |  | 
| [Outils pour PowerShell V5](https://docs.aws.amazon.com/powershell/latest/userguide/) | Oui |  | 
| [Outils pour PowerShell V4](https://docs.aws.amazon.com/powershell/v4/userguide/) | Oui |  | 