

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.

# Exemple : Restreindre les clés de balises de ressources de calcul qu'un principal peut définir
<a name="compute-resources-tag-access-policy-tagkeys-example"></a>

La politique basée sur l'identité suivante, que vous associez à un utilisateur ou à un rôle IAM, permet à un principal de créer et de mettre à jour des environnements de calcul, mais uniquement lorsque chaque balise entre `computeResources.tags` est `CostCenter`, `Team`, ou `Project`. Les demandes qui définissent une autre clé de balise sont refusées.

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowComputeEnvironmentManagement",
      "Effect": "Allow",
      "Action": [
        "batch:CreateComputeEnvironment",
        "batch:UpdateComputeEnvironment"
      ],
      "Resource": "arn:aws:batch:us-east-1:123456789012:compute-environment/*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "batch:ComputeResourcesTagKeys": ["CostCenter", "Team", "Project"]
        }
      }
    }
  ]
}
```

Cette politique limite la demande aux clés de balise autorisées, mais elle n'exige pas que la demande définisse l'une d'entre elles. Le `ForAllValues` l'opérateur set est satisfait même lorsque la demande ne définit aucune étiquette de ressource de calcul. Pour exiger également qu'une clé de balise spécifique soit toujours présente, ajoutez une instruction qui utilise `Null` opérateur activé `batch:ComputeResourcesTag/{{tag-key}}`. Pour obtenir un exemple, consultez [Ressource : Restreindre les balises Amazon EC2 qu'un principal peut définir sur les ressources de calcul](iam-example-restrict-compute-environment-tags.md).

Vous pouvez combiner les deux clés de condition dans une seule instruction afin de limiter les clés de balise autorisées et la valeur autorisée pour l'une de ces clés en même temps. La politique suivante permet à un principal de créer et de mettre à jour des environnements de calcul uniquement lorsque `CostCenter` la valeur de la balise est `engineering`, et uniquement s'il n'y a pas de clé de balise autre que `CostCenter`, `Team`, ou `Project` est utilisé.

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowComputeEnvironmentManagementWithApprovedTags",
      "Effect": "Allow",
      "Action": [
        "batch:CreateComputeEnvironment",
        "batch:UpdateComputeEnvironment"
      ],
      "Resource": "arn:aws:batch:us-east-1:123456789012:compute-environment/*",
      "Condition": {
        "StringEquals": {
          "batch:ComputeResourcesTag/CostCenter": "engineering"
        },
        "ForAllValues:StringEquals": {
          "batch:ComputeResourcesTagKeys": ["CostCenter", "Team", "Project"]
        }
      }
    }
  ]
}
```