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.
Fournisseur d'informations d'identification IMDS
Note
Pour vous aider à comprendre la mise en page des pages de paramètres ou à interpréter le tableau Support par AWS les SDK et les outils qui suit, consultezComprendre les pages de paramètres de ce guide.
Le service de métadonnées d'instance (IMDS) fournit des données sur votre instance que vous pouvez utiliser pour configurer ou gérer l'instance en cours d'exécution. Pour plus d'informations sur les données disponibles, consultez la section Utilisation des métadonnées d'instance dans le guide de l'utilisateur Amazon EC2. Amazon EC2 fournit un point de terminaison local à la disposition des instances qui peut fournir diverses informations à l'instance. Si un rôle est associé à l'instance, elle peut fournir un ensemble d'informations d'identification valides pour ce rôle. Les SDK peuvent utiliser ce point de terminaison pour résoudre les informations d'identification dans le cadre de leur chaîne de fournisseurs d'informations d'identification par défaut. Le service de métadonnées d'instance version 2 (IMDSv2), une version plus sécurisée d'IMDS qui utilise un jeton de session, est utilisée par défaut. Si cela échoue en raison d'une condition non réessayable (codes d'erreur HTTP 403, 404, 405), IMDSv1 est utilisé comme solution de secours.
Configurez cette fonctionnalité à l'aide des méthodes suivantes :
AWS_EC2_METADATA_DISABLED- variable d'environnement-
Tenter ou non d'utiliser Amazon EC2 Instance Metadata Service (IMDS) pour obtenir des informations d'identification.
Valeur par défaut :
false.Valeurs valides:
-
true— N'utilisez pas l'IMDS pour obtenir des informations d'identification. -
false— Utilisez l'IMDS pour obtenir des informations d'identification.
-
ec2_metadata_v1_disabled- réglage des AWSconfigfichiers partagésAWS_EC2_METADATA_V1_DISABLED- variable d'environnementaws.disableEc2MetadataV1- Propriété du système JVM : uniquement Java/Kotlin-
Utiliser ou non le service de métadonnées d'instance version 1 (IMDSv1) comme solution de secours en cas d'échec d'IMDSv2.
Note
Les nouveaux SDK ne prennent pas en charge IMDSv1 et, par conséquent, ne prennent pas en charge ce paramètre. Pour plus de détails, voir le tableauSoutenu par AWS Kits SDK et outils.
Valeur par défaut :
false.Valeurs valides:
-
true— N'utilisez pas IMDSv1 comme solution de secours. -
false— Utilisez IMDSv1 comme solution de repli.
-
ec2_metadata_service_endpoint- réglage des AWSconfigfichiers partagésAWS_EC2_METADATA_SERVICE_ENDPOINT- variable d'environnementaws.ec2MetadataServiceEndpoint- Propriété du système JVM : uniquement Java/Kotlin-
Le point final de l'IMDS. Cette valeur remplace l'emplacement par défaut dans lequel les AWS kits de développement logiciel et les outils rechercheront les métadonnées des instances Amazon EC2.
Valeur par défaut : si elle
ec2_metadata_service_endpoint_modeest égaleIPv4, le point de terminaison par défaut esthttp://169.254.169.254. S'ilec2_metadata_service_endpoint_modeest égalIPv6, le point de terminaison par défaut esthttp://[fd00:ec2::254].Valeurs valides : URI valide.
ec2_metadata_service_endpoint_mode- réglage des AWSconfigfichiers partagésAWS_EC2_METADATA_SERVICE_ENDPOINT_MODE- variable d'environnementaws.ec2MetadataServiceEndpointMode- Propriété du système JVM : uniquement Java/Kotlin-
Mode terminal de l'IMDS.
Valeur par défaut :
IPv4.Valeurs valides :
IPv4,IPv6.
Note
Le fournisseur d'informations d'identification IMDS fait partie du. Comprendre la chaîne des fournisseurs d'informations d'identification Cependant, le fournisseur d'informations d'identification IMDS n'est vérifié qu'après plusieurs autres fournisseurs de cette série. Par conséquent, si vous souhaitez que votre programme utilise les informations d'identification de ce fournisseur, vous devez supprimer les autres fournisseurs d'informations d'identification valides de votre configuration ou utiliser un autre profil. Sinon, au lieu de vous fier à la chaîne de fournisseurs d'informations d'identification pour découvrir automatiquement quel fournisseur renvoie des informations d'identification valides, spécifiez l'utilisation du fournisseur d'informations d'identification IMDS dans le code. Vous pouvez spécifier les sources d'informations d'identification directement lorsque vous créez des clients de service.
Sécurité des informations d'identification IMDS
Par défaut, lorsque le AWS SDK n'est pas configuré avec des informations d'identification valides, il essaie d'utiliser le service de métadonnées d'instance Amazon EC2 (IMDS) pour récupérer les informations d'identification d'un rôle. AWS Ce comportement peut être désactivé en définissant la variable d'AWS_EC2_METADATA_DISABLEDenvironnement surtrue. Cela permet d'éviter toute activité réseau inutile et de renforcer la sécurité sur les réseaux non fiables où le service de métadonnées d'instance Amazon EC2 peut être usurpé.
Note
AWS Les clients du SDK configurés avec des informations d'identification valides n'utiliseront jamais l'IMDS pour récupérer des informations d'identification, quel que soit l'un de ces paramètres.
Désactivation de l'utilisation des informations d'identification IMDS Amazon EC2
La manière dont vous définissez cette variable d'environnement dépend du système d'exploitation utilisé et de la persistance de la modification.
Linux et macOS
Les clients utilisant Linux ou macOS peuvent définir cette variable d'environnement à l'aide de la commande suivante :
$ export AWS_EC2_METADATA_DISABLED=true
Si vous souhaitez que ce paramètre soit persistant pendant plusieurs sessions shell et redémarrages du système, vous pouvez ajouter la commande ci-dessus à votre fichier de profil shell, par exemple .bash_profile.zsh_profile, ou.profile.
Windows
Les clients utilisant Windows peuvent définir cette variable d'environnement à l'aide de la commande suivante :
$ set AWS_EC2_METADATA_DISABLED=true
Si vous souhaitez que ce paramètre soit persistant pendant plusieurs sessions shell et que le système redémarre, vous pouvez utiliser la commande suivante à la place :
$ setx AWS_EC2_METADATA_DISABLED=true
Note
La setx commande n'applique pas la valeur à la session shell en cours. Vous devrez donc recharger ou rouvrir le shell pour que la modification soit prise en compte.
Soutenu par AWS Kits SDK et outils
Les kits SDK suivants prennent en charge les fonctionnalités et les paramètres décrits dans cette rubrique. Toutes les exceptions partielles sont notées. 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 v2 | Oui | |
| SDK pour C++ | Oui | |
| 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 | Oui | |
| SDK pour Java 1.x | Partielle | Propriétés du système JVM : à utiliser à la com.amazonaws.sdk.disableEc2MetadataV1 place de aws.disableEc2MetadataV1 ; aws.ec2MetadataServiceEndpoint et aws.ec2MetadataServiceEndpointMode non prises en charge. |
| SDK pour 3.x JavaScript | Oui | |
| SDK pour 2.x JavaScript | Oui | |
| SDK pour Kotlin | Oui | N'utilise pas la solution de secours IMDSv1. |
| SDK pour .NET 4.x | Oui | |
| 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 | N'utilise pas la solution de secours IMDSv1. |
| SDK pour Swift | Oui | |
| Outils pour PowerShell V5 | Oui | Vous pouvez désactiver explicitement le repli IMDSv1 dans le code à l'aide de. [Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = $true |
| Outils pour PowerShell V4 | Oui | Vous pouvez désactiver explicitement le repli IMDSv1 dans le code à l'aide de. [Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = $true |