

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.

# Configurer les options de métadonnées d’instance pour les nouvelles instances
<a name="configuring-IMDS-new-instances"></a>

Vous pouvez configurer les options de métadonnées d’instance suivantes pour les nouvelles instances.

**Topics**
+ [Exiger l'utilisation de IMDSv2](#configure-IMDS-new-instances)
+ [Activez l'IMDS IPv4 et les points de terminaison IPv6](#configure-IMDS-new-instances-ipv4-ipv6-endpoints)
+ [Désactiver l’accès aux métadonnées d’instance](#configure-IMDS-new-instances--turn-off-instance-metadata)
+ [Autoriser l’accès aux identifications dans les métadonnées d’instance](#configure-IMDS-new-instances-tags-in-instance-metadata)

**Note**  
Les paramètres de ces options sont configurés au niveau du compte, soit directement dans le compte, soit à l’aide d’une politique déclarative. Ils doivent être configurés dans chaque endroit Région AWS où vous souhaitez configurer les options de métadonnées de l’instance. L’utilisation d’une politique déclarative vous permet d’appliquer les paramètres à plusieurs régions simultanément, ainsi qu’à plusieurs comptes simultanément. Lorsqu’une politique déclarative est utilisée, vous ne pouvez pas modifier les paramètres directement dans un compte. Cette rubrique décrit la procédure à suivre pour configurer les paramètres directement à l’intérieur d’un compte. Pour plus d’informations sur l’utilisation des politiques déclaratives, consultez la section [Politiques déclaratives](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) dans le *Guide de l’utilisateur AWS Organizations *.

## Exiger l'utilisation de IMDSv2
<a name="configure-IMDS-new-instances"></a>

Vous pouvez utiliser les méthodes suivantes pour exiger l'utilisation de IMDSv2 sur vos nouvelles instances.

**Topics**
+ [Définir IMDSv2 comme valeur par défaut pour le compte](#set-imdsv2-account-defaults)
+ [Appliquer IMDSv2 au niveau du compte](#enforce-imdsv2-at-the-account-level)
+ [Configurer l’instance au lancement](#configure-IMDS-new-instances-instance-settings)
+ [Configurer l’AMI](#configure-IMDS-new-instances-ami-configuration)
+ [Utiliser une politique IAM](#configure-IMDS-new-instances-iam-policy)

### Définir IMDSv2 comme valeur par défaut pour le compte
<a name="set-imdsv2-account-defaults"></a>

Vous pouvez définir la version par défaut du service de métadonnées d'instance (IMDS) au niveau du compte pour chacun Région AWS d'entre eux. Cela signifie que lorsque vous lancez une *nouvelle* instance, la version des métadonnées de l’instance est automatiquement définie sur la valeur par défaut au niveau du compte. Vous pouvez toutefois modifier manuellement la valeur au lancement ou après le lancement. Pour plus d’informations sur la manière dont les paramètres au niveau du compte et les remplacements manuels affectent une instance, consultez [Ordre de priorité pour les options de métadonnées des instances](configuring-instance-metadata-options.md#instance-metadata-options-order-of-precedence).

**Note**  
La définition de la valeur par défaut au niveau du compte ne réinitialise pas les instances *existantes*. Par exemple, si vous définissez la valeur par défaut au niveau du compte sur IMDSv2, les instances existantes définies sur ne IMDSv1 sont pas affectées. Si vous souhaitez modifier la valeur des instances existantes, vous devez modifier manuellement la valeur des instances elles-mêmes.

Vous pouvez définir la valeur par défaut du compte pour la version des métadonnées de l'instance de IMDSv2 telle sorte que toutes les *nouvelles* instances du compte soient lancées comme IMDSv2 requises et IMDSv1 soient désactivées. Avec ce compte par défaut, lorsque vous lancez une instance, les valeurs par défaut pour l’instance sont les suivantes :
+ Console : la **version des métadonnées** est définie sur **V2 uniquement (jeton requis)** et la **limite de sauts de réponse des métadonnées** est définie sur **2**.
+ AWS CLI: `HttpTokens` est défini sur `required` et `HttpPutResponseHopLimit` est défini sur `2`. 

**Note**  
Avant de définir la valeur par défaut du compte sur IMDSv2, assurez-vous que vos instances ne dépendent pas de IMDSv1. Pour de plus amples informations, veuillez consulter [Chemin recommandé pour exiger IMDSv2](instance-metadata-transition-to-version-2.md#recommended-path-for-requiring-imdsv2).

------
#### [ Console ]

**À définir IMDSv2 comme compte par défaut pour la région spécifiée**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.

1. Dans le panneau de navigation, sélectionnez **Dashboard** (Tableau de bord).

1. Sur la fiche **Attributs du compte**, sous **Paramètres**, sélectionnez **Protection et sécurité des données**.

1. À côté des paramètres **IMDS par défaut**, choisissez **Gérer**.

1. Sur la page **Gérer les paramètres par défaut de l’IMDS**, procédez comme suit :

   1. Pour **Service de métadonnées d’instance**, sélectionnez **Activer**.

   1. Pour **Choisir une version des métadonnées**, sélectionnez **V2 (jeton obligatoire)**.

   1. Pour la **limite de sauts de réponse aux métadonnées**, spécifiez **2** si vos instances hébergeront des conteneurs. Sinon, sélectionnez **Aucune préférence**. Lorsqu’aucune préférence n’est spécifiée, au lancement, la valeur est par défaut de **2** si l’AMI a le paramètre `ImdsSupport: v2.0` ; sinon, elle est par défaut de **1**.

   1. Choisissez **Mettre à jour**.

------
#### [ AWS CLI ]

**À définir IMDSv2 comme compte par défaut pour la région spécifiée**  
Utilisez la [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html)commande et spécifiez la région dans laquelle vous souhaitez modifier les paramètres au niveau du compte IMDS. Incluez `--http-tokens` set to `required` et `--http-put-response-hop-limit` set to `2` si vos instances hébergeront des conteneurs. Dans le cas contraire, spécifiez `-1` pour n’indiquer aucune préférence. Lorsque `-1` (aucune préférence) est spécifié, au lancement, la valeur par défaut est `2` si l’AMI nécessite `ImdsSupport: v2.0` ; sinon, elle est définie par défaut sur `1`.

```
aws ec2 modify-instance-metadata-defaults \
    --region us-east-1 \
    --http-tokens required \
    --http-put-response-hop-limit 2
```

Voici un exemple de sortie.

```
{
    "Return": true
}
```

**Pour afficher les paramètres de compte par défaut pour les options de métadonnées de l’instance pour la région spécifiée**  
Utilisez la [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html)commande et spécifiez la région.

```
aws ec2 get-instance-metadata-defaults --region us-east-1
```

Voici un exemple de sortie.

```
{
    "AccountLevel": {
        "HttpTokens": "required",
        "HttpPutResponseHopLimit": 2
    },
    "ManagedBy": "account"
}
```

Le champ `ManagedBy` indique l’entité qui a configuré les paramètres. Dans cet exemple, `account` indique que les paramètres ont été configurés directement dans le compte. Une valeur de `declarative-policy` signifierait que les paramètres ont été configurés par une politique déclarative. Pour plus d’informations, consultez la rubrique [Politiques gérées](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) dans le *Guide de l’utilisateur AWS Organizations *.

**À définir IMDSv2 comme compte par défaut pour toutes les régions**  
Utilisez la [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html)commande pour modifier les paramètres au niveau du compte IMDS pour toutes les régions. Incluez `--http-tokens` set to `required` et `--http-put-response-hop-limit` set to `2` si vos instances hébergeront des conteneurs. Dans le cas contraire, spécifiez `-1` pour n’indiquer aucune préférence. Lorsque `-1` (aucune préférence) est spécifié, au lancement, la valeur par défaut est `2` si l’AMI nécessite `ImdsSupport: v2.0` ; sinon, elle est définie par défaut sur `1`.

```
echo -e "Region          \t Modified" ; \
echo -e "--------------  \t ---------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 modify-instance-metadata-defaults \
            --region $region \
            --http-tokens required \
            --http-put-response-hop-limit 2 \
            --output text)
        echo -e "$region        \t $output"
    );
done
```

Voici un exemple de sortie.

```
Region                   Modified
--------------           ---------
ap-south-1               True
eu-north-1               True
eu-west-3                True
...
```

**Pour afficher les paramètres de compte par défaut pour les options de métadonnées de l’instance pour toutes les régions**  
Utilisez la commande [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html).

```
echo -e "Region   \t Level          Hops    HttpTokens" ; \
echo -e "-------------- \t ------------   ----    ----------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 get-instance-metadata-defaults \
            --region $region \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

Voici un exemple de sortie.

```
Region           Level          Hops    HttpTokens
--------------   ------------   ----    ----------
ap-south-1       ACCOUNTLEVEL   2       required
eu-north-1       ACCOUNTLEVEL   2       required
eu-west-3        ACCOUNTLEVEL   2       required
...
```

------
#### [ PowerShell ]

**À définir IMDSv2 comme compte par défaut pour la région spécifiée**  
Utilisez l'[Edit-EC2InstanceMetadataDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html)applet de commande et spécifiez la région dans laquelle vous souhaitez modifier les paramètres au niveau du compte IMDS. Incluez `-HttpToken` set to `required` et `-HttpPutResponseHopLimit` set to `2` si vos instances hébergeront des conteneurs. Dans le cas contraire, spécifiez `-1` pour n’indiquer aucune préférence. Lorsque `-1` (aucune préférence) est spécifié, au lancement, la valeur par défaut est `2` si l’AMI nécessite `ImdsSupport: v2.0` ; sinon, elle est définie par défaut sur `1`.

```
Edit-EC2InstanceMetadataDefault `
    -Region us-east-1 `
    -HttpToken required `
    -HttpPutResponseHopLimit 2
```

Voici un exemple de sortie.

```
True
```

**Pour afficher les paramètres de compte par défaut pour les options de métadonnées de l’instance pour la région spécifiée**  
Utilisez l'[Get-EC2InstanceMetadataDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceMetadataDefault.html)applet de commande et spécifiez la région.

```
Get-EC2InstanceMetadataDefault -Region us-east-1 | Format-List
```

Voici un exemple de sortie.

```
HttpEndpoint            : 
HttpPutResponseHopLimit : 2
HttpTokens              : required
InstanceMetadataTags    :
```

**À définir IMDSv2 comme compte par défaut pour toutes les régions**  
Utilisez l'[Edit-EC2InstanceMetadataDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html)applet de commande pour modifier les paramètres au niveau du compte IMDS pour toutes les régions. Incluez `-HttpToken` set to `required` et `-HttpPutResponseHopLimit` set to `2` si vos instances hébergeront des conteneurs. Dans le cas contraire, spécifiez `-1` pour n’indiquer aucune préférence. Lorsque `-1` (aucune préférence) est spécifié, au lancement, la valeur par défaut est `2` si l’AMI nécessite `ImdsSupport: v2.0` ; sinon, elle est définie par défaut sur `1`.

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region   = $_
        Modified = (Edit-EC2InstanceMetadataDefault `
                -Region $_ `
                -HttpToken required `
                -HttpPutResponseHopLimit 2)
    } 
} | `
Format-Table Region, Modified -AutoSize
```

Sortie attendue

```
Region         Modified
------         --------
ap-south-1         True
eu-north-1         True
eu-west-3          True
...
```

**Pour afficher les paramètres de compte par défaut pour les options de métadonnées de l’instance pour toutes les régions**  
Utilisez l’applet de commande [Get-EC2InstanceMetadataDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceMetadataDefault.html).

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region = $_
        HttpPutResponseHopLimit = (Get-EC2InstanceMetadataDefault -Region $_).HttpPutResponseHopLimit
        HttpTokens              = (Get-EC2InstanceMetadataDefault -Region $_).HttpTokens
    }
} | `
Format-Table -AutoSize
```

Exemple de sortie

```
Region         HttpPutResponseHopLimit HttpTokens
------         ----------------------- ----------
ap-south-1                           2 required
eu-north-1                           2 required
eu-west-3                            2 required                    
...
```

------

### Appliquer IMDSv2 au niveau du compte
<a name="enforce-imdsv2-at-the-account-level"></a>

Vous pouvez imposer l'utilisation de IMDSv2 au niveau du compte pour chacun d'entre eux Région AWS. Lorsqu'elles sont appliquées, les instances ne peuvent être lancées que si elles sont configurées pour l'exigerIMDSv2. Cette application s'applique quelle que soit la manière dont l'instance ou l'AMI est configurée.

**Note**  
Avant d'activer IMDSv2 l'application au niveau du compte, assurez-vous que vos applications et votre AMIs support sont conformes IMDSv2. Pour de plus amples informations, veuillez consulter [Chemin recommandé pour exiger IMDSv2](instance-metadata-transition-to-version-2.md#recommended-path-for-requiring-imdsv2). Si IMDSv2 l'application est activée et n'`httpTokens`est définie ni `required` dans la configuration de l'instance au lancement, ni dans les paramètres du compte, ni dans la configuration de l'AMI, le lancement de l'instance échouera. Pour plus d’informations sur le dépannage, consultez [Le lancement d'une instance IMDSv1 activée échoue](troubleshooting-launch.md#launching-an-imdsv1-enabled-instance-fails).

**Note**  
Ce paramètre ne modifie pas la version IMDS des instances existantes, mais bloque l'activation IMDSv1 sur les instances existantes actuellement IMDSv1 désactivées.

------
#### [ Console ]

**IMDSv2 Pour faire appliquer le compte dans la région spécifiée**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.

1. Dans le panneau de navigation, sélectionnez **Dashboard** (Tableau de bord).

1. Sur la fiche **Attributs du compte**, sous **Paramètres**, sélectionnez **Protection et sécurité des données**.

1. À côté des paramètres **IMDS par défaut**, choisissez **Gérer**.

1. Sur la page **Gérer les paramètres par défaut de l’IMDS**, procédez comme suit :

   1. Pour **Choisir une version des métadonnées**, sélectionnez **V2 (jeton obligatoire)**.

   1. Pour **Enforce IMDSv2**, choisissez **Enabled**.

   1. Choisissez **Mettre à jour**.

------
#### [ AWS CLI ]

**IMDSv2 Pour faire appliquer le compte dans la région spécifiée**  
 Utilisez la [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html)commande et spécifiez la région dans laquelle appliquer IMDSv2. 

```
aws ec2 modify-instance-metadata-defaults \
    --region us-east-1 \
    --http-tokens required \
    --http-tokens-enforced enabled
```

Voici un exemple de sortie.

```
{
"Return": true
}
```

**Pour consulter le paramètre d' IMDSv2 application du compte dans une région spécifique**  
Utilisez la [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html)commande et spécifiez la région.

```
aws ec2 get-instance-metadata-defaults --region us-east-1
```

Voici un exemple de sortie.

```
{
    "AccountLevel": {
        "HttpTokens": "required",
        "HttpTokensEnforced": "enabled"
    },
    "ManagedBy": "account"
}
```

Le champ `ManagedBy` indique l’entité qui a configuré les paramètres. Dans cet exemple, `account` indique que les paramètres ont été configurés directement dans le compte. Une valeur de `declarative-policy` signifierait que les paramètres ont été configurés par une politique déclarative. Pour plus d'informations, consultez la section [Politiques déclaratives](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) dans le *Guide de l'utilisateur AWS des Organizations*.

**IMDSv2 Pour appliquer le compte à toutes les régions**  
Utilisez la [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html)commande pour appliquer IMDSv2 dans toutes les régions.

```
echo -e "Region          \t Modified" ; \
echo -e "--------------  \t ---------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 modify-instance-metadata-defaults \
            --region $region \
            --http-tokens-enforced enabled \
            --output text)
        echo -e "$region        \t $output"
    );
done
```

Voici un exemple de sortie.

```
Region                   Modified
--------------           ---------
ap-south-1               True
eu-north-1               True
eu-west-3                True
...
```

**Pour consulter les paramètres IMDSv2 d'application du compte dans toutes les régions**  
Utilisez la commande [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html).

```
echo -e "Region   \t Level           HttpTokensEnforced" ; \
echo -e "-------------- \t ------------   ----------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 get-instance-metadata-defaults \
            --region $region \
            --query 'AccountLevel.HttpTokensEnforced' \           
            --output text)
        echo -e "$region \t ACCOUNTLEVEL $output" 
    );
done
```

Voici un exemple de sortie.

```
Region           Level          HttpTokensEnforced
--------------   ------------   ------------------
ap-south-1       ACCOUNTLEVEL   enabled
eu-north-1       ACCOUNTLEVEL   enabled
eu-west-3        ACCOUNTLEVEL   enabled
...
```

------
#### [ PowerShell ]

**IMDSv2 Pour faire appliquer le compte dans la région spécifiée**  
Utilisez l'[Edit-EC2InstanceMetadataDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html)applet de commande et spécifiez la région dans laquelle appliquer. IMDSv2 

```
Edit-EC2InstanceMetadataDefault `
    -Region us-east-1 `
    -HttpToken required `
    -HttpPutResponseHopLimit 2
```

Voici un exemple de sortie.

```
@{
    Return = $true
}
```

**Pour consulter le paramètre d' IMDSv2 application du compte dans une région spécifique**  
Utilisez la Get-EC2InstanceMetadataDefault commande et spécifiez la région.

```
Get-EC2InstanceMetadataDefault -Region us-east-1
```

Voici un exemple de sortie.

```
@{
    AccountLevel = @{
        HttpTokens = "required"
        HttpTokensEnforced = "enabled"
    }
    ManagedBy = "account"
}
```

Le champ `ManagedBy` indique l’entité qui a configuré les paramètres. Dans cet exemple, `account` indique que les paramètres ont été configurés directement dans le compte. Une valeur de `declarative-policy` signifierait que les paramètres ont été configurés par une politique déclarative. Pour plus d'informations, consultez la section [Politiques déclaratives](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) dans le *Guide de l'utilisateur AWS des Organizations*.

**IMDSv2 Pour appliquer le compte à toutes les régions**  
Utilisez la [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html)commande pour appliquer IMDSv2 dans toutes les régions.

```
echo -e "Region          \t Modified" ; \
echo -e "--------------  \t ---------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 modify-instance-metadata-defaults \
            --region $region \
            --http-tokens-enforced enabled \
            --output text)
        echo -e "$region        \t $output"
    );
done
```

Voici un exemple de sortie.

```
Region                   Modified
--------------           ---------
ap-south-1               True
eu-north-1               True
eu-west-3                True
...
```

**À définir IMDSv2 comme compte par défaut pour toutes les régions**  
Utilisez l'[Edit-EC2InstanceMetadataDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html)applet de commande pour modifier les paramètres au niveau du compte IMDS pour toutes les régions. Incluez `-HttpToken` set to `required` et `-HttpPutResponseHopLimit` set to `2` si vos instances hébergeront des conteneurs. Dans le cas contraire, spécifiez `-1` pour n’indiquer aucune préférence. Lorsque `-1` (aucune préférence) est spécifié, au lancement, la valeur par défaut est `2` si l’AMI nécessite `ImdsSupport: v2.0` ; sinon, elle est définie par défaut sur `1`.

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region   = $_
        Modified = (Edit-EC2InstanceMetadataDefault `
                -Region $_ `
                -HttpToken required `
                -HttpPutResponseHopLimit 2)
    } 
} | `
Format-Table Region, Modified -AutoSize
```

Sortie attendue

```
Region         Modified
------         --------
ap-south-1         True
eu-north-1         True
eu-west-3          True
...
```

**Pour afficher les paramètres de compte par défaut pour les options de métadonnées de l’instance pour toutes les régions**  
Utilisez l’applet de commande [Get-EC2InstanceMetadataDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceMetadataDefault.html).

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region = $_
        HttpPutResponseHopLimit = (Get-EC2InstanceMetadataDefault -Region $_).HttpPutResponseHopLimit
        HttpTokens              = (Get-EC2InstanceMetadataDefault -Region $_).HttpTokens
    }
} | `
Format-Table -AutoSize
```

Exemple de sortie

```
Region         HttpPutResponseHopLimit HttpTokens
------         ----------------------- ----------
ap-south-1                           2 required
eu-north-1                           2 required
eu-west-3                            2 required                    
...
```

------

### Configurer l’instance au lancement
<a name="configure-IMDS-new-instances-instance-settings"></a>

Lorsque vous [lancez une instance](ec2-launch-instance-wizard.md), vous pouvez configurer l'instance pour qu'elle nécessite l'utilisation de IMDSv2 en configurant les champs suivants :
+ Console Amazon EC2 : définissez **Metadata version** (Version des métadonnées) sur **V2 only (token required)** (V2 uniquement [jeton obligatoire]).
+ AWS CLI : définissez `HttpTokens` sur `required`.

Lorsque vous spécifiez que cela IMDSv2 est obligatoire, vous devez également activer le point de terminaison du service de métadonnées d'instance (IMDS) en définissant **les métadonnées accessibles** sur **Enabled** (console) ou `HttpEndpoint` sur `enabled` (AWS CLI).

Dans un environnement de conteneurs, lorsque cela IMDSv2 est nécessaire, nous vous recommandons de définir la limite de sauts sur`2`. Pour de plus amples informations, veuillez consulter [Considérations sur l’accès aux métadonnées d’instance](instancedata-data-retrieval.md#imds-considerations).

------
#### [ Console ]

**Pour exiger l'utilisation de IMDSv2 sur une nouvelle instance**
+ Lors du lancement d’une nouvelle instance dans la console Amazon EC2, développez **Détails avancés**, et procédez comme suit :
  + Pour**Accéder aux métadonnées**, choisissez**Activé**.
  + Pour **Choisir une version des métadonnées**, sélectionnez **V2 (jeton obligatoire)**.
  + (Environnement de conteneur) Pour **Limite de sauts de réponse aux métadonnées**, choisissez **2**.

  Pour de plus amples informations, veuillez consulter [Détails avancés](ec2-instance-launch-parameters.md#liw-advanced-details).

------
#### [ AWS CLI ]

**Pour exiger l'utilisation de IMDSv2 sur une nouvelle instance**  
L’exemple [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) ci-dessous lance une instance `c6i.large` avec `--metadata-options` défini sur `HttpTokens=required`. Lorsque vous spécifiez une valeur pour `HttpTokens`, vous devez également définir `HttpEndpoint` sur `enabled`. Comme l'en-tête du jeton sécurisé est configuré `required` pour les demandes de récupération de métadonnées, cela nécessite que l'instance soit utilisée IMDSv2 lors de la demande de métadonnées d'instance.

Dans un environnement de conteneurs, lorsque cela IMDSv2 est nécessaire, nous vous recommandons de définir la limite de sauts sur `2` with`HttpPutResponseHopLimit=2`.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --instance-type c6i.large \
	...
    --metadata-options "HttpEndpoint=enabled,HttpTokens=required,HttpPutResponseHopLimit=2"
```

------
#### [ PowerShell ]

**Pour exiger l'utilisation de IMDSv2 sur une nouvelle instance**  
L'exemple d'[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)applet de commande suivant lance une `c6i.large` instance dont le paramètre est `MetadataOptions_HttpEndpoint` défini sur `enabled` et le `MetadataOptions_HttpTokens` paramètre sur. `required` Lorsque vous spécifiez une valeur pour `HttpTokens`, vous devez également définir `HttpEndpoint` sur `enabled`. Comme l'en-tête du jeton sécurisé est configuré `required` pour les demandes de récupération de métadonnées, cela nécessite que l'instance soit utilisée IMDSv2 lors de la demande de métadonnées d'instance.

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType c6i.large `
    -MetadataOptions_HttpEndpoint enabled `
    -MetadataOptions_HttpTokens required
```

------
#### [ CloudFormation ]

Pour spécifier les options de métadonnées pour une instance utilisant CloudFormation, consultez la [AWS::EC2::LaunchTemplate MetadataOptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html)propriété dans le *guide de AWS CloudFormation l'utilisateur*.

------

### Configurer l’AMI
<a name="configure-IMDS-new-instances-ami-configuration"></a>

Lorsque vous enregistrez une nouvelle AMI ou que vous modifiez une AMI existante, vous pouvez définir le paramètre `imds-support` sur `v2.0`. Les instances lancées à partir de cette AMI verront le paramètre **Version des métadonnées** défini sur **V2 uniquement (jeton obligatoire)** (console) ou `HttpTokens` défini sur `required` (AWS CLI). Avec ces paramètres, l'instance exige que cela IMDSv2 soit utilisé lors de la demande de métadonnées d'instance.

Notez que lorsque vous définissez `imds-support` sur `v2.0`, les instances lancées à partir de cette AMI verront également le paramètre **Metadata response hop limit** (Limite de saut de réponse des métadonnées) (console) ou `http-put-response-hop-limit` (AWS CLI) défini sur **2**.

**Important**  
N'utilisez pas ce paramètre à moins que votre logiciel AMI ne le prenne en chargeIMDSv2. Une fois que vous avez défini la valeur sur `v2.0`, vous ne pouvez pas revenir en arrière. La seule façon de « réinitialiser » votre AMI est de créer une nouvelle AMI à partir de l’instantané sous-jacent.

**Pour configurer une nouvelle AMI pour IMDSv2**  
Utilisez l'une des méthodes suivantes pour configurer une nouvelle AMI pourIMDSv2.

------
#### [ AWS CLI ]

L’exemple [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) suivant enregistre une AMI en utilisant l’instantané spécifié d’un volume racine EBS en tant que périphérique `/dev/xvda`. Spécifiez `v2.0` le `imds-support` paramètre afin que les instances lancées à partir de cette AMI nécessitent son utilisation lors de la demande de métadonnées d'instance. IMDSv2 

```
aws ec2 register-image \
    --name my-image \
    --root-device-name /dev/xvda \
    --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0123456789example} \
    --architecture x86_64 \
    --imds-support v2.0
```

------
#### [ PowerShell ]

L'exemple d'[Register-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html)applet de commande suivant enregistre une AMI en utilisant l'instantané spécifié d'un volume racine EBS en tant que périphérique. `/dev/xvda` Spécifiez `v2.0` le `ImdsSupport` paramètre afin que les instances lancées à partir de cette AMI nécessitent son utilisation lors de la demande de métadonnées d'instance. IMDSv2 

```
Register-EC2Image `
    -Name 'my-image' `
    -RootDeviceName /dev/xvda `
    -BlockDeviceMapping  ( 
    New-Object `
        -TypeName Amazon.EC2.Model.BlockDeviceMapping `
        -Property @{ 
        DeviceName = '/dev/xvda'; 
        EBS        = (New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice -Property @{ 
                SnapshotId = 'snap-0123456789example'
                VolumeType = 'gp3' 
                } )      
        }  ) `
    -Architecture X86_64 `
    -ImdsSupport v2.0
```

------

**Pour configurer une AMI existante pour IMDSv2**  
Utilisez l'une des méthodes suivantes pour configurer une AMI existante pourIMDSv2.

------
#### [ AWS CLI ]

L'[modify-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html)exemple suivant modifie une AMI existante pour IMDSv2 uniquement. Spécifiez `v2.0` le `imds-support` paramètre afin que les instances lancées à partir de cette AMI nécessitent son utilisation lors de la demande de métadonnées d'instance. IMDSv2 

```
aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --imds-support v2.0
```

------
#### [ PowerShell ]

L'exemple d'[Edit-EC2ImageAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html)applet de commande suivant modifie une AMI existante uniquement pour. IMDSv2 Spécifiez `v2.0` le `imds-support` paramètre afin que les instances lancées à partir de cette AMI nécessitent son utilisation lors de la demande de métadonnées d'instance. IMDSv2 

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -ImdsSupport 'v2.0'
```

------

### Utiliser une politique IAM
<a name="configure-IMDS-new-instances-iam-policy"></a>

Vous pouvez créer une politique IAM qui effectue l'une des opérations suivantes :
+ Empêche les utilisateurs de lancer de nouvelles instances à moins qu'ils n'en aient besoinIMDSv2 .
+ Empêche les utilisateurs d'appeler l' ModifyInstanceMetadataOptions API pour modifier les options de métadonnées d'une instance en cours d'exécution. Limitez l'accès à la propriété ModifyInstanceMetadataOptions HttpTokens pour empêcher les mises à jour involontaires des instances en cours d'exécution.
+ Empêchez les utilisateurs d'appeler l' ModifyInstanceMetadataDefaults API pour modifier les paramètres par défaut du compte à la fois pour HttpTokens ethttpTokensEnforced. La restriction de l'accès à ces deux propriétés garantit que seuls les rôles autorisés peuvent modifier les paramètres par défaut du compte.

**Pour imposer l'utilisation de IMDSv2 sur toutes les nouvelles instances à l'aide d'une politique IAM**  
Pour garantir que les utilisateurs ne peuvent lancer que des instances dont l'utilisation est requise IMDSv2 lors de la demande de métadonnées d'instance, procédez comme suit :
+ Limitez l'accès à la fois à `ModifyInstanceMetadataDefaults` l'API `ModifyInstanceMetadataOptions` et plus particulièrement aux `httpTokensEnforced` propriétés `httpTokens` et.
+ Définissez ensuite le compte par défaut sur `httpTokens = required` et`httpTokensEnforced = enabled`.

  Pour examiner l’exemple de stratégie IAM, consultez [Utiliser des métadonnées d’instance](ExamplePolicies_EC2.md#iam-example-instance-metadata).

## Activez l'IMDS IPv4 et les points de terminaison IPv6
<a name="configure-IMDS-new-instances-ipv4-ipv6-endpoints"></a>

L'IMDS possède deux points de terminaison sur une instance : IPv4 (`169.254.169.254`) et IPv6 (`[fd00:ec2::254]`). Lorsque vous activez l'IMDS, le IPv4 point de terminaison est automatiquement activé. Le IPv6 point de terminaison reste désactivé même si vous lancez une instance dans un IPv6 sous-réseau uniquement. Pour activer le IPv6 point de terminaison, vous devez le faire explicitement. Lorsque vous activez le IPv6 point de IPv4 terminaison, celui-ci reste activé.

Vous pouvez activer le IPv6 point de terminaison au lancement de l'instance ou après.

**Conditions requises pour activer le IPv6 point de terminaison**
+ Le type d’instance sélectionné est une [instance basée sur Nitro](instance-types.md#instance-hypervisor-type).
+ Le sous-réseau sélectionné prend IPv6 en charge les sous-réseaux à [double pile ou IPv6 uniquement](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-ip-address-range).

Utilisez l'une des méthodes suivantes pour lancer une instance avec le point de IPv6 terminaison IMDS activé.

------
#### [ Console ]

**Pour activer le point de IPv6 terminaison IMDS lors du lancement de l'instance**
+ [Lancez l’instance](ec2-launch-instance-wizard.md) dans la console Amazon EC2 avec les informations suivantes spécifiées sous **Advanced details** (Détails avancés) :
  + Pour le ** IPv6 point de terminaison des métadonnées**, choisissez **Enabled**.

Pour de plus amples informations, veuillez consulter [Détails avancés](ec2-instance-launch-parameters.md#liw-advanced-details).

------
#### [ AWS CLI ]

**Pour activer le point de IPv6 terminaison IMDS lors du lancement de l'instance**  
L'exemple d'[exécution d'instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) suivant lance une `c6i.large` instance avec le IPv6 point de terminaison activé pour l'IMDS. Pour activer le IPv6 point de terminaison, spécifiez le `--metadata-options` paramètre`HttpProtocolIpv6=enabled`. Lorsque vous spécifiez une valeur pour `HttpProtocolIpv6`, vous devez également définir `HttpEndpoint` sur `enabled`.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --instance-type c6i.large \
    ...
    --metadata-options "HttpEndpoint=enabled,HttpProtocolIpv6=enabled"
```

------
#### [ PowerShell ]

**Pour activer le point de IPv6 terminaison IMDS lors du lancement de l'instance**  
L'exemple d'[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)applet de commande suivant lance une `c6i.large` instance avec le IPv6 point de terminaison activé pour l'IMDS. Pour activer le IPv6 point de terminaison, spécifiez `MetadataOptions_HttpProtocolIpv6` comme`enabled`. Lorsque vous spécifiez une valeur pour `MetadataOptions_HttpProtocolIpv6`, vous devez également définir `MetadataOptions_HttpEndpoint` sur `enabled`.

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType c6i.large `
    -MetadataOptions_HttpEndpoint enabled `
    -MetadataOptions_HttpProtocolIpv6 enabled
```

------

## Désactiver l’accès aux métadonnées d’instance
<a name="configure-IMDS-new-instances--turn-off-instance-metadata"></a>

Vous pouvez désactiver l’accès aux métadonnées de l’instance en désactivant l’IMDS lorsque vous lancez une instance. Vous pouvez activer l’accès ultérieurement en réactivant l’IMDS. Pour de plus amples informations, veuillez consulter [Activer l’accès aux métadonnées d’instance](configuring-IMDS-existing-instances.md#enable-instance-metadata-on-existing-instances).

**Important**  
Vous pouvez choisir de désactiver l’IMDS au lancement ou après le lancement. Si vous désactivez l’IMDS *au lancement*, les opérations suivantes risquent de ne pas fonctionner :  
Vous pourriez ne pas avoir d’accès SSH à votre instance. La `public-keys/0/openssh-key`, qui est la clé SSH publique de votre instance, ne sera pas accessible, car lelle est normalement fournie et accessible à partir des métadonnées de l’instance EC2.
Les données utilisateur EC2 ne seront pas disponibles et ne seront pas exécutées au démarrage de l’instance. Les données utilisateur EC2 sont hébergées sur l’IMDS. Si vous désactivez l’IMDS, vous empêchez l’accès aux données utilisateur.
Pour accéder à cette fonctionnalité, vous pouvez réactiver l’IMDS après le lancement.

------
#### [ Console ]

**Pour désactiver l’accès aux métadonnées d’instance**
+ [Lancez l’instance](ec2-launch-instance-wizard.md) dans la console Amazon EC2 avec les informations suivantes spécifiées sous **Advanced details** (Détails avancés) :
  + Pour**Accéder aux métadonnées**, choisissez **Activé**.

Pour de plus amples informations, veuillez consulter [Détails avancés](ec2-instance-launch-parameters.md#liw-advanced-details).

------
#### [ AWS CLI ]

**Pour désactiver l’accès aux métadonnées d’instance au lancement**  
Lancez l’instance avec `--metadata-options` défini sur `HttpEndpoint=disabled`.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --instance-type c6i.large \
    ... 
    --metadata-options "HttpEndpoint=disabled"
```

------
#### [ PowerShell ]

**Pour désactiver l’accès aux métadonnées d’instance au lancement**  
L'exemple d'[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)applet de commande suivant lance une instance `MetadataOptions_HttpEndpoint` définie sur. `disabled`

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType c6i.large `
    -MetadataOptions_HttpEndpoint disabled
```

------
#### [ CloudFormation ]

Pour spécifier les options de métadonnées pour une instance utilisant CloudFormation, consultez la [AWS::EC2::LaunchTemplate MetadataOptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html)propriété dans le *guide de CloudFormation l'utilisateur*. 

------

## Autoriser l’accès aux identifications dans les métadonnées d’instance
<a name="configure-IMDS-new-instances-tags-in-instance-metadata"></a>

Par défaut, les balises d’instance ne sont pas accessibles dans les métadonnées d’instance. Pour chaque instance, vous devez explicitement autoriser l’accès. Si l’accès est autorisé, *les clés* des balises d’instance doivent respecter des restrictions de caractères spécifiques, sinon le lancement de l’instance échouera. Pour de plus amples informations, veuillez consulter [Activation de l’accès aux balises dans les métadonnées d’instance](work-with-tags-in-IMDS.md#allow-access-to-tags-in-IMDS).