Extraire les informations d’identification de sécurité à partir des métadonnées d’instance - Amazon Elastic Compute Cloud

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.

Extraire les informations d’identification de sécurité à partir des métadonnées d’instance

Une application de l’instance extrait les informations d’identification de sécurité fournies par le rôle à partir de l’élément iam/security-credentials/nom-rôle des métadonnées d’instance. L’application reçoit les autorisations pour les actions et les ressources que vous avez définies pour le rôle via les informations d’identification de sécurité associées au rôle. Ces informations de sécurité sont temporaires et nous les faisons tourner automatiquement. Nous rendons disponibles de nouvelles informations d’identification au moins cinq minutes avant l’expiration des anciennes informations d’identification.

Pour obtenir plus d’informations sur les métadonnées d’instance, consultez Utiliser les métadonnées de l'instance pour gérer votre EC2 instance.

Avertissement

Si vous utilisez des services qui utilisent des métadonnées d'instance avec IAM des rôles, veillez à ne pas exposer vos informations d'identification lorsque les services passent des HTTP appels en votre nom. Les types de services susceptibles d'exposer vos informations d'identification incluent HTTP les proxys, les services HTML de CSS validation et les XML processeurs qui prennent en charge XML l'inclusion.

Pour vos EC2 charges de travail Amazon, nous vous recommandons de récupérer les informations d'identification de session en utilisant la méthode décrite ci-dessous. Ces informations d'identification devraient permettre à votre charge de travail de faire des AWS API demandes, sans avoir sts:AssumeRole à les utiliser pour assumer le même rôle que celui déjà associé à l'instance. À moins que vous n'ayez besoin de transmettre des balises de session pour le contrôle d'accès basé sur les attributs (ABAC) ou d'adopter une politique de session pour restreindre davantage les autorisations du rôle, ces appels d'attribution de rôle ne sont pas nécessaires car ils créent un nouvel ensemble d'informations d'identification de session de rôle temporaires identiques.

Si votre charge de travail utilise un rôle pour s’assumer elle-même, vous devez créer une politique de confiance qui autorise explicitement ce rôle à s’assumer lui-même. Si vous ne créez pas la politique de confiance, une AccessDenied erreur s'affiche. Pour plus d'informations, consultez la section Modification d'une politique d'approbation des rôles dans le Guide de IAM l'utilisateur.

La commande suivante permet de récupérer les informations d'identification de sécurité pour un IAM rôle nommés3access.

cURL

IMDSv2

[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access

IMDSv1

[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access
PowerShell

IMDSv2

PS C:\> [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access

IMDSv1

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access

Voici un exemple de sortie. Si vous ne parvenez pas à récupérer les informations de sécurité, consultez la section Je ne peux pas accéder aux informations d'identification de sécurité temporaires de mon EC2 instance dans le guide de IAM l'utilisateur.

{ "Code" : "Success", "LastUpdated" : "2012-04-26T16:39:16Z", "Type" : "AWS-HMAC", "AccessKeyId" : "ASIAIOSFODNN7EXAMPLE", "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "Token" : "token", "Expiration" : "2017-05-17T15:09:54Z" }

Pour les applications et PowerShell les commandes Tools for Windows qui s'exécutent sur l'instance, il n'est pas nécessaire d'obtenir explicitement les informations d'identification de sécurité temporaires : AWS SDKs et Tools for Windows obtiennent PowerShell automatiquement les informations d'identification auprès du service de métadonnées de l'EC2instance et les utilisent. AWS CLI AWS CLI Pour passer un appel en dehors de l'instance à l'aide d'informations d'identification de sécurité temporaires (par exemple, pour tester des IAM politiques), vous devez fournir la clé d'accès, la clé secrète et le jeton de session. Pour plus d'informations, consultez la section Utilisation d'informations d'identification de sécurité temporaires pour demander l'accès aux AWS ressources dans le guide de IAM l'utilisateur.