

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.

# Accordez l’autorisation de baliser les ressources Amazon EC2 lors de la création
<a name="supported-iam-actions-tagging"></a>

Certaines actions d’API Amazon EC2 de création de ressources vous permettent de spécifier des balises lorsque vous créez la ressource. Vous pouvez utiliser des balises de ressource pour implémenter le contrôle basé sur les attributs (ABAC). Pour plus d’informations, consultez [Etiqueter vos ressources](Using_Tags.md#tag-resources) et [Contrôle d’accès à l’aide de l’accès basé sur les attributs](iam-policies-for-amazon-ec2.md#control-access-with-tags).

Pour permettre aux utilisateurs d’attribuer des balises aux ressources au moment de la création, ils doivent avoir les autorisations d’utiliser l’action qui crée la ressource (par exemple, `ec2:RunInstances` ou `ec2:CreateVolume`). Si les balises sont spécifiées dans l’action de création de ressources, Amazon effectue une autorisation supplémentaire sur l’action `ec2:CreateTags` pour vérifier si les utilisateurs sont autorisés à créer des balises. Par conséquent, les utilisateurs doivent également avoir des autorisations explicites d’utiliser l’action `ec2:CreateTags`. 

Dans la définition de stratégie IAM de l’action `ec2:CreateTags`, utilisez l’élément `Condition` avec la clé de condition `ec2:CreateAction` pour accorder des autorisations de balisage à l’action qui crée la ressource.

L’exemple suivant illustre une politique qui permet aux utilisateurs de lancer des instances et d’appliquer des balises aux instances et aux volumes pendant le lancement. Les utilisateurs ne sont pas autorisés à attribuer des balises aux ressources existantes (ils ne peuvent pas appeler l’action `ec2:CreateTags` directement).

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

De même, la politique suivante permet aux utilisateurs de créer des volumes et appliquer des balises à des volumes pendant la création de volume. Les utilisateurs ne sont pas autorisés à attribuer des balises aux ressources existantes (ils ne peuvent pas appeler l’action `ec2:CreateTags` directement).

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateVolume"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "CreateVolume"
          }
       }
    }
  ]
}
```

L’action `ec2:CreateTags` est uniquement évaluée si les balises sont appliquées pendant l’action de création de ressources. Par conséquent, un utilisateur qui est autorisé à créer une ressource (en supposant qu’il n’existe aucune condition de balisage) n’a pas besoin des autorisations d’utiliser l’action `ec2:CreateTags` si aucune balise n’est spécifié dans la demande. Toutefois, si l’utilisateur essaie de créer une ressource avec des balises, la demande échoue s’il n’a pas les autorisations d’utiliser l’action `ec2:CreateTags`.

L’action `ec2:CreateTags` est également évaluée si des balises sont fournies dans un modèle de lancement. Pour un exemple de politique, consultez [Balises dans un modèle de lancement](ExamplePolicies_EC2.md#iam-example-tags-launch-template).

## Contrôler l’accès à des balises spécifiques
<a name="control-tagging"></a>

Vous pouvez utiliser des conditions supplémentaires dans l’élément `Condition` de vos stratégies IAM pour contrôler les clés de balise et les valeurs qui peuvent être appliquées aux ressources.

Les clés de condition suivantes peuvent être utilisées avec les exemples de la section précédente :
+ `aws:RequestTag` : Pour indiquer qu’une clé de balise ou une clé et valeur de balise particulière doit être présente dans une demande. D’autres balises peuvent également être spécifiées dans la demande.
  + Utilisez avec l’opérateur de condition `StringEquals` pour appliquer une combinaison de clé de balise et de valeur spécifique ; par exemple, pour appliquer la balise `cost-center`=`cc123` :

    ```
    "StringEquals": { "aws:RequestTag/cost-center": "cc123" }
    ```
  + A utiliser avec l’opération de condition `StringLike` pour appliquer une clé de balise spécifique dans la demande ; par exemple, pour appliquer la clé de balise `purpose`:

    ```
    "StringLike": { "aws:RequestTag/purpose": "*" }
    ```
+ `aws:TagKeys` : Pour appliquer les clés de balise qui sont utilisées dans la demande.
  + A utiliser avec le modificateur `ForAllValues` pour appliquer des clés de balise spécifiques si celles-ci sont fournies dans la demande (si les balises sont spécifiées dans la demande, seules les clés de balise spécifiques sont autorisées ; aucune autre balise n’est autorisée). Par exemple, les clés de balise `environment` ou `cost-center` sont autorisées :

    ```
    "ForAllValues:StringEquals": { "aws:TagKeys": ["environment","cost-center"] }
    ```
  + A utiliser avec le modificateur `ForAnyValue` pour appliquer la présence d’au moins l’une des clés de balise spécifiées dans la demande. Par exemple, au moins l’une des clés de balise `environment` ou `webserver` doit être présente dans la demande :

    ```
    "ForAnyValue:StringEquals": { "aws:TagKeys": ["environment","webserver"] }
    ```

Ces clés de condition peuvent être appliqués aux actions de création de ressources qui prennent en charge le balisage ainsi qu’aux actions `ec2:CreateTags` et `ec2:DeleteTags`. Pour savoir si une action d’API Amazon EC2 prend en charge le balisage, consultez la section [Actions, ressources et clés de condition pour Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Pour forcer les utilisateurs à spécifier des balises quand ils créent une ressource, vous devez utiliser la clé de condition `aws:RequestTag` ou la clé de condition `aws:TagKeys` avec le modificateur `ForAnyValue` sur l’action de création de ressources. L’action `ec2:CreateTags` n’est pas évaluée si un utilisateur ne spécifie pas de balises pour l’action de création de ressources.

Pour les conditions, la clé de condition n’est pas sensible à la casse et la valeur de la condition est sensible à la casse. Par conséquent pour forcer la sensibilité à la casse d’une clé de balise, utilisez la clé de condition `aws:TagKeys`, où la clé de balise est indiquée comme une valeur dans la condition.

Par exemple les stratégies IAM, consultez [Exemple de politiques pour contrôler l'accès à l'API Amazon EC2](ExamplePolicies_EC2.md). Pour plus d’informations, consultez la section [Conditions avec plusieurs clés ou valeurs de contexte](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-logic-multiple-context-keys-or-values.html) dans le *Guide de l’utilisateur IAM*.