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
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). 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 ce guide.
Assumer les paramètres du fournisseur d'informations d'identification du rôle
Configurez cette fonctionnalité à l'aide des méthodes suivantes :
credential_source
- réglage AWSconfig
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_IDet AWS_SECRET_ACCESS_KEY.
-
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 d'identification de la source.
-
EcsContainer— Spécifie que le SDK ou l'outil doit utiliser le rôle IAM attaché au conteneur ECS pour obtenir les informations d'identification de la source.
Vous ne pouvez pas spécifier à la fois
credential_source
etsource_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 AWSconfig
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 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 AWSconfig
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 auExternalId
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 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 AWSconfig
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.
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. Pour plus d'informations sur le MFA, consultez la section Configuration de l'accès aux API protégé par MFA dans le guide de l'utilisateur IAM.Exemple de configuration de ce paramètre dans un
config
fichier :mfa_serial =
arn:aws:iam::
123456789012
:mfa/my-user-name
role_arn
- réglage AWSconfig
du fichier partagéAWS_IAM_ROLE_ARN
- variable d'environnementaws.roleArn
- Propriété du système JVM : Java/Kotlin uniquement-
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 AWSconfig
du fichier partagéAWS_IAM_ROLE_SESSION_NAME
- variable d'environnementaws.roleSessionName
- Propriété du système JVM : Java/Kotlin uniquement-
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.
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 AWSconfig
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 AWSconfig
etcredentials
les fichiers, consultezPartage config et credentials fichiers.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 à une heure maximum et ne peut pas être augmenté. Pour plus d'informations, consultez la section Termes et concepts relatifs aux rôles dans le guide de l'utilisateur IAM.
Valeur par défaut : Aucune.
Valeurs valides : chaîne de texte composée du nom d'un profil défini dans les
credentials
fichiersconfig
et. Vous devez également spécifier une valeur pourrole_arn
dans le profil actuel.Vous ne pouvez pas spécifier à la fois
credential_source
etsource_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
[profileB
] aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
Dans l'exemple précédent, le profil
A
utilise les informations d'identification du profilB
. Lorsque vous spécifiez que le SDK ou l'outil doit utiliser leA
profil, le SDK ou l'outil recherche automatiquement les informations d'identification duB
profil lié et les utilise pour demander des informations d'identification temporaires pour le rôle IAM spécifié. Pour ce faire, le SDK ou l'outil utilise l'AssumeRoleopération sts : en arrière-plan. 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é, comme la commande ou la méthode d'API. Service AWS web_identity_token_file
- réglage AWSconfig
du fichier partagéAWS_WEB_IDENTITY_TOKEN_FILE
- variable d'environnementaws.webIdentityTokenFile
- Propriété du système JVM : Java/Kotlin uniquement-
Spécifie le chemin d'accès à un fichier contenant un jeton d'accès provenant d'un fournisseur OAuth 2.0 ou d'un fournisseur d'identité OpenID Connect
ID compatible . Ce paramètre active l'authentification en utilisant des fournisseurs de fédération d'identité Web, tels que Google
, Facebook et Amazon , 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.
Compatibilité avec les AWS SDK
Les SDK suivants 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 for Java et le Kit AWS SDK pour Kotlin seul.
SDK | Pris en charge | Remarques ou informations supplémentaires |
---|---|---|
AWS CLI v2 | Oui | |
SDK pour C++ | Partielle | credential_source non pris en charge. duration_seconds non pris en charge. mfa_serial non pris en charge. |
SDK pour Go V2 (1.x) |
Oui | |
SDK pour Go 1.x (V1) | Oui | Pour utiliser les paramètres des config fichiers partagés, vous devez activer le chargement à partir du fichier de configuration ; voir Sessions. |
SDK pour Java 2.x | Partielle | mfa_serial non pris en charge. Utiliser AWS_ROLE_ARN au lieu deAWS_IAM_ROLE_ARN . Utiliser AWS_ROLE_SESSION_NAME au lieu deAWS_IAM_ROLE_SESSION_NAME . |
SDK pour Java 1.x | Partielle | mfa_serial non pris en charge. Les propriétés du système JVM ne sont pas prises en charge. |
SDK pour 3.x JavaScript | Oui | |
SDK pour 2.x JavaScript | Partielle | credential_source non pris en charge. |
SDK pour Kotlin | Oui | Utiliser AWS_ROLE_ARN au lieu deAWS_IAM_ROLE_ARN . Utiliser AWS_ROLE_SESSION_NAME au lieu deAWS_IAM_ROLE_SESSION_NAME . |
SDK pour .NET 3.x | Oui | |
SDK pour PHP 3.x | Oui | |
SDK pour Python (Boto3) |
Oui | |
SDK pour Ruby 3.x | Oui | |
SDK pour Rust | Oui | |
Outils pour PowerShell | Oui |