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.
IMDSfournisseur d'informations d'identification
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 EC2 l'utilisateur Amazon. Amazon EC2 fournit un point de terminaison local à la disposition des instances qui peut fournir diverses informations à l'instance. Si un rôle est attaché à l'instance, elle peut fournir un ensemble d'informations d'identification valides pour ce rôle. Ils SDKs 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. La version 2 (IMDSv2) du service de métadonnées d'IMDSinstance, une version plus sécurisée utilisant un jeton de session, est utilisée par défaut. Si cela échoue en raison d'une condition non réessayable (codes HTTP d'erreur 403, 404, 405), il IMDSv1 est utilisé comme solution de secours.
Configurez cette fonctionnalité à l'aide des méthodes suivantes :
AWS_EC2_METADATA_DISABLED
- variable d'environnement-
Essayer ou non d'utiliser Amazon EC2 Instance Metadata Service (IMDS) pour obtenir des informations d'identification.
Valeur par défaut :
false
.Valeurs valides:
-
true
— Ne pas utiliser IMDS pour obtenir des informations d'identification. -
false
— IMDS À utiliser pour obtenir des informations d'identification.
-
ec2_metadata_v1_disabled
- partagé AWSconfig
réglage du fichierAWS_EC2_METADATA_V1_DISABLED
- variable d'environnementaws.disableEc2MetadataV1
- propriété JVM du système : Java/Kotlin uniquement-
S'il faut ou non utiliser le service de métadonnées d'instance version 1 (IMDSv1) comme solution de secours en cas d'IMDSv2échec.
Note
Les nouveautés SDKs ne sont pas compatibles avec ce paramètre IMDSv1 et ne le prennent donc pas en charge. Pour plus de détails, voir le tableauCompatibilité avec AWS SDKs.
Valeur par défaut :
false
.Valeurs valides:
-
true
— Ne pas utiliser IMDSv1 comme solution de secours. -
false
— À utiliser IMDSv1 comme solution de secours.
-
ec2_metadata_service_endpoint
- partagé AWSconfig
réglage du fichierAWS_EC2_METADATA_SERVICE_ENDPOINT
- variable d'environnementaws.ec2MetadataServiceEndpoint
- propriété JVM du système : Java/Kotlin uniquement-
Le point final deIMDS.
Valeur par défaut : si elle
ec2_metadata_service_endpoint_mode
est égaleIPv4
, le point de terminaison par défaut esthttp://169.254.169.254
. Siec2_metadata_service_endpoint_mode
égalIPv6
, le point de terminaison par défaut esthttp://[fd00:ec2::254]
.Valeurs valides : validesURI.
ec2_metadata_service_endpoint_mode
- partagé AWSconfig
réglage du fichierAWS_EC2_METADATA_SERVICE_ENDPOINT_MODE
- variable d'environnementaws.ec2MetadataServiceEndpointMode
- propriété JVM du système : Java/Kotlin uniquement-
Le mode de point de terminaison deIMDS.
Valeur par défaut :
IPv4
.Valeurs valides :
IPv4
,IPv6
.
Note
Le fournisseur d'informations d'IMDSidentification fait partie duChaîne de fournisseurs d'identifiants. Cependant, le fournisseur IMDS d'informations d'identification 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 profil différent. 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'IMDSinformations d'identification 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 IMDS informations d'identification
Par défaut, lorsque AWS SDKn'est pas configuré avec des informations d'identification valides, SDK elle tentera d'utiliser le service de métadonnées d'EC2instance Amazon (IMDS) pour récupérer les informations d'identification d'un AWS rôle. Ce comportement peut être désactivé en définissant la variable d'AWS_EC2_METADATA_DISABLED
environnement surtrue
. Cela empêche toute activité réseau inutile et améliore la sécurité sur les réseaux non fiables sur lesquels le service de métadonnées d'EC2instance Amazon peut être usurpé.
Note
AWS SDKles clients configurés avec des informations d'identification valides ne les utiliseront jamais IMDS pour récupérer des informations d'identification, quels que soient ces paramètres.
Désactiver l'utilisation des informations d'identification Amazon EC2 IMDS
La façon dont vous définissez cette variable d'environnement dépend du système d'exploitation utilisé et du fait que vous souhaitez ou non que la modification soit persistante.
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 permanent pendant plusieurs sessions et redémarrages du système, vous pouvez ajouter la commande ci-dessus à votre fichier de profil shell, telle que .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 sur plusieurs sessions shell et redémarrages du système, 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.
Compatibilité avec AWS SDKs
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 des propriétés JVM du système sont pris en charge par le AWS SDK for Java et le Kit AWS SDK pour Kotlin uniquement.
SDK | Pris en charge | Remarques ou informations supplémentaires |
---|---|---|
AWS CLI v2 | Oui | |
SDKpour C++ | Oui | |
SDKpour Go V2 (1.x) |
Oui | |
SDKpour 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. |
SDKpour Java 2.x | Oui | |
SDKpour Java 1.x | Partielle | JVMpropriétés du système : à utiliser à la com.amazonaws.sdk.disableEc2MetadataV1 place de aws.disableEc2MetadataV1 ; aws.ec2MetadataServiceEndpoint et aws.ec2MetadataServiceEndpointMode non prise en charge. |
SDKpour JavaScript 3.x | Oui | |
SDKpour JavaScript 2.x | Oui | |
SDKpour Kotlin | Oui | N'utilise pas de solution de IMDSv1 secours. |
SDKpour. NET3. x | Oui | |
SDKpour PHP 3.x | Oui | |
SDKpour Python (Boto3) |
Oui | |
SDKpour Ruby 3.x | Oui | |
SDKpour Rust | Oui | N'utilise pas de solution de IMDSv1 secours. |
SDKpour Swift | Oui | |
Outils pour PowerShell | Oui | Vous pouvez désactiver le IMDSv1 repli de manière explicite dans le code en utilisant[Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = $true . |