

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**
+ [Exigence d’utilisation d’IMDSv2](#configure-IMDS-new-instances)
+ [Activer les points de terminaison IPv4 et IPv6 IMDS](#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 *.

## Exigence d’utilisation d’IMDSv2
<a name="configure-IMDS-new-instances"></a>

Vous pouvez utiliser les méthodes suivantes pour demander l’utilisation d’IMDSv2 sur vos nouvelles instances.

**Topics**
+ [Définissez IMDSv2 comme valeur par défaut pour le compte](#set-imdsv2-account-defaults)
+ [Appliquez 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éfinissez 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 du compte sur IMDSv2, les instances existantes définies sur IMDSv1 ne 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 le compte par défaut pour la version des métadonnées de l’instance sur IMDSv2 afin que toutes les *nouvelles* instances du compte soient lancées avec IMDSv2, et IMDSv1 soit désactivé. 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 le compte par défaut sur IMDSv2, assurez-vous que vos instances ne dépendent pas d’IMDSv1. Pour de plus amples informations, veuillez consulter [Chemin recommandé pour demander l’accès à IMDSv2](instance-metadata-transition-to-version-2.md#recommended-path-for-requiring-imdsv2).

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

**Pour 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 la Région AWS, utilisez le sélecteur de région situé 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**, choisissez 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 ]

**Pour définir IMDSv2 comme compte par défaut pour la région spécifiée**  
Utilisez la commande [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) 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 commande [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html) 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 *.

**Pour définir IMDSv2 comme compte par défaut pour toutes les régions**  
Utilisez la commande [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) 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 ]

**Pour 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    :
```

**Pour 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                    
...
```

------

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

Vous pouvez imposer l'utilisation de l'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 nécessiter IMDSv2. Cette application s'applique quelle que soit la manière dont l'instance ou l'AMI est configurée.

**Note**  
Avant d'activer l'application de l'IMDSv2 au niveau du compte, assurez-vous que vos applications et AMI sont compatibles avec IMDSv2. Pour de plus amples informations, veuillez consulter [Chemin recommandé pour demander l’accès à IMDSv2](instance-metadata-transition-to-version-2.md#recommended-path-for-requiring-imdsv2). Si l'application IMDSv2 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 IMDSv1-enabled instance é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 d'IMDSv1 sur les instances existantes pour lesquelles IMDSv1 est actuellement désactivé.

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

**Pour appliquer IMDSv2 au 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 la Région AWS, utilisez le sélecteur de région en haut à droite 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**, choisissez 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 ** Activé. **

   1. Choisissez **Mettre à jour**.

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

**Pour appliquer IMDSv2 au compte dans la région spécifiée**  
 Utilisez la [ commande ](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) modify-instance-metadata-defaults 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 afficher le paramètre d'application de l'IMDSv2 pour le compte dans une région spécifique**  
Utilisez la commande [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html) 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 organisations.

**Pour appliquer l'IMDSv2 au compte dans toutes les régions**  
Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) modify-instance-metadata-defaults 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 d'application de l'IMDSv2 pour le 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 ]

**Pour appliquer IMDSv2 au 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 afficher le paramètre d'application de l'IMDSv2 pour le 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 organisations.

**Pour appliquer l'IMDSv2 au compte dans toutes les régions**  
Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) modify-instance-metadata-defaults 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 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>

Quand vous [lancez une instance](ec2-launch-instance-wizard.md), vous pouvez configurer l’instance pour imposer 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 IMDSv2 est requis, vous devez également activer le point de terminaison du service des métadonnées d’instance (IMDS) en définissant **Métadonnées accessibles** sur **Activé** (console) ou `HttpEndpoint` sur `enabled` (AWS CLI).

Dans un environnement de conteneurs, lorsque IMDSv2 est nécessaire, nous recommandons de fixer la limite de saut à `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 imposer l’utilisation d’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 imposer l’utilisation d’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 de jeton sécurisé est défini sur `required` pour les demandes de récupération de métadonnées, cette option impose à l’instance l’utilisation de IMDSv2 lors de la demande des métadonnées d’instance.

Dans un environnement de conteneurs, lorsque IMDSv2 est nécessaire, nous recommandons de fixer la limite de saut à `2` avec `HttpPutResponseHopLimit=2`.

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

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

**Pour imposer l’utilisation d’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 avec `MetadataOptions_HttpEndpoint` set to `enabled` et le `MetadataOptions_HttpTokens` paramètre to. `required` Lorsque vous spécifiez une valeur pour `HttpTokens`, vous devez également définir `HttpEndpoint` sur `enabled`. Comme l’en-tête de jeton sécurisé est défini sur `required` pour les demandes de récupération de métadonnées, cette option impose à l’instance l’utilisation de IMDSv2 lors de la demande des 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 LaunchTemplate MetadataOptions [ propriété ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html) AWS : :EC2 : : dans le Guide de l'*AWS CloudFormation 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 impose l’utilisation de IMDSv2 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 ce paramètre que si votre logiciel AMI prend en charge IMDSv2. 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.

**Configuration d’une nouvelle AMI pour IMDSv2**  
Pour configurer une nouvelle AMI IMDSv2, utilisez l’une des méthodes suivantes.

------
#### [ 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` pour le paramètre `imds-support`, de sorte que les instances lancées à partir de cette AMI imposent l’utilisation de IMDSv2 pour pouvoir demander des métadonnées d’instance.

```
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` pour le paramètre `ImdsSupport`, de sorte que les instances lancées à partir de cette AMI imposent l’utilisation de IMDSv2 pour pouvoir demander des métadonnées d’instance.

```
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
```

------

**Configuration d’une AMI existante pour IMDSv2**  
Pour configurer une AMI existante pour IMDSv2, utilisez l’une des méthodes suivantes.

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

L’exemple [modify-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html) suivant modifie une AMI existante pour IMDSv2 uniquement. Spécifiez `v2.0` pour le paramètre `imds-support`, de sorte que les instances lancées à partir de cette AMI imposent l’utilisation de IMDSv2 pour pouvoir demander des métadonnées d’instance.

```
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 pour IMDSv2 uniquement. Spécifiez `v2.0` pour le paramètre `imds-support`, de sorte que les instances lancées à partir de cette AMI imposent l'utilisation de IMDSv2 pour pouvoir demander des métadonnées d'instance.

```
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, sauf s'ils ont besoin d'IMDSv2 sur la nouvelle instance.
+ 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. Restreignez 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 HttpTokens et httpTokensEnforced. 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 en utilisant une politique IAM**  
Pour vous assurer que les utilisateurs ne peuvent lancer que des instances nécessitant l'utilisation d'IMDSv2 lorsqu'ils demandent des métadonnées d'instance, procédez comme suit :
+ Restreignez l'accès à la fois à `ModifyInstanceMetadataDefaults` l'API `ModifyInstanceMetadataOptions` et, plus précisément, `httpTokens` aux `httpTokensEnforced` propriétés 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).

## Activer les points de terminaison IPv4 et IPv6 IMDS
<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 point de terminaison IPv4 est automatiquement activé. Le point de terminaison IPv6 reste désactivé même si vous lancez une instance dans un IPv6-only sous-réseau. Pour activer le point de terminaison IPv6, vous devez le faire explicitement. Lorsque vous activez le point de terminaison IPv6, le point de terminaison IPv4 reste activé.

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

**Conditions requises pour activer le point de terminaison IPv6**
+ Le type d'instance sélectionné est une [ Nitro-based instance](instance-types.md#instance-hypervisor-type).
+ Le sous-réseau sélectionné prend en charge le protocole IPv6, le sous-réseau étant soit à [double pile, soit uniquement IPv6](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 terminaison IPv6 activé pour IMDS.

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

**Activer le point de terminaison IPv6 activé pour IMDS au 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 **Point de terminaison IPv6 des 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 ]

**Activer le point de terminaison IPv6 activé pour IMDS au lancement de l’instance**  
L’exemple [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) suivant lance une instance `c6i.large` avec le point de terminaison IPv6 activé pour l’IMDS. Pour activer le point de terminaison IPv6, pour le paramètre `--metadata-options`, spécifiez `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 terminaison IMDS IPv6 au 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 point de terminaison IPv6 activé pour l'IMDS. Pour activer le point de terminaison IPv6, définissez `MetadataOptions_HttpProtocolIpv6` sur `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 avec `MetadataOptions_HttpEndpoint` set to. `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 LaunchTemplate MetadataOptions [ propriété ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html) AWS : :EC2 : : dans le Guide de l'*CloudFormation 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).