

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
<a name="feature-imds-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).

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) dans le guide de l'*utilisateur Amazon EC2*. Amazon EC2 fournit un point de terminaison local à la disposition des instances qui peut fournir différentes 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](standardized-credentials.md#credentialProviderChain). 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é par défaut. Si cela échoue en raison d'une condition non réessayable (codes d'erreur HTTP 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 le service de métadonnées d'instance Amazon EC2 (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 IMDS pour obtenir des informations d'identification.

**`ec2_metadata_v1_disabled`- réglage AWS `config` du fichier partagé`AWS_EC2_METADATA_V1_DISABLED`- variable d'environnement`aws.disableEc2MetadataV1`- Propriété du système JVM : uniquement Java/Kotlin **  
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.  
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 tableau[Support par AWS SDKs et outils](#feature-imds-credentials-sdk-compat).
**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`- réglage AWS `config` du fichier partagé`AWS_EC2_METADATA_SERVICE_ENDPOINT`- variable d'environnement`aws.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 SDK et les outils rechercheront les métadonnées des instances Amazon EC2.  
**Valeur par défaut :** si elle `ec2_metadata_service_endpoint_mode` est égale`IPv4`, le point de terminaison par défaut est`http://169.254.169.254`. Si `ec2_metadata_service_endpoint_mode` égal`IPv6`, le point de terminaison par défaut est`http://[fd00:ec2::254]`.  
**Valeurs valides :** URI valide.

**`ec2_metadata_service_endpoint_mode`- réglage AWS `config` du fichier partagé`AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE`- variable d'environnement`aws.ec2MetadataServiceEndpointMode`- Propriété du système JVM : uniquement Java/Kotlin **  
Le mode endpoint 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](standardized-credentials.md#credentialProviderChain) 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 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'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
<a name="feature-imds-credentials-sdk-security"></a>

Par défaut, lorsque le AWS SDK n'est pas configuré avec des informations d'identification valides, le SDK tente 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_DISABLED`environnement sur`true`. 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'instance Amazon EC2 peut être usurpé.

**Note**  
AWS Les clients du SDK configurés avec des informations d'identification valides n'utiliseront jamais IMDS pour récupérer des informations d'identification, quels que soient ces paramètres.

### Désactivation de l'utilisation des informations d'identification Amazon EC2 IMDS
<a name="feature-imds-credentials-disabling"></a>

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
<a name="feature-imds-credentials-disabling-unix"></a>

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
<a name="feature-imds-credentials-disabling-windows"></a>

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.

## Support par AWS SDKs et outils
<a name="feature-imds-credentials-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\+\+](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | Oui |  | 
| [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/) | Oui |  | 
| [SDK pour Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 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 ](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/) | Oui |  | 
| [SDK pour Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | Oui | N'utilise pas de solution de IMDSv1 secours. | 
| [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 | N'utilise pas de solution de IMDSv1 secours. | 
| [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 | Vous pouvez désactiver le IMDSv1 repli de manière explicite dans le code en utilisant[Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = $true. | 
| [Outils pour PowerShell V4](https://docs.aws.amazon.com/powershell/v4/userguide/) | Oui | Vous pouvez désactiver le IMDSv1 repli de manière explicite dans le code en utilisant[Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = $true. | 