Syntaxe des politiques de balises et exemples - AWS Organizations

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.

Syntaxe des politiques de balises et exemples

Cette page décrit la syntaxe des politiques de balises et fournit des exemples.

Syntaxe des politiques de balises

Une politique de balises est un fichier texte brut qui est structuré conformément aux règles de JSON. La syntaxe des politiques de balises suit la syntaxe des types de politiques de gestion. Pour une présentation complète de cette syntaxe, consultez Fonctionnement de l'héritage des politiques de gestion. Cette rubrique se concentre sur l'application de cette syntaxe générale aux exigences spécifiques du type de politique de balises.

La politique de balises suivante présente une syntaxe de base :

{ "tags": { "costcenter": { "tag_key": { "@@assign": "CostCenter" }, "tag_value": { "@@assign": [ "100", "200" ] }, "enforced_for": { "@@assign": [ "secretsmanager:*" ] } } } }

La syntaxe d'une politique de balises inclut les composants suivants :

  • Le nom de clé du champ tags. Les politiques de balises commencent toujours par ce nom de clé fixe. Il s'agit de la ligne du haut dans l'exemple de politique ci-dessus.

  • Une clé de politique qui identifie de manière unique l'instruction de politique. Elle doit correspondre à la valeur de la clé de balise, sauf pour le traitement de la casse. Contrairement à la clé de balise (décrite ci-après), la valeur de politique n'est pas sensible à la casse.

    Dans cet exemple, costcenter est la clé de politique.

  • Au moins une clé de balise qui spécifie la clé de balise autorisée avec l'utilisation des majuscules avec laquelle vous souhaitez que les ressources soient conformes. Si le traitement de la casse n'est pas défini, les clés de balise utilisent des minuscules par défaut. La valeur de la clé de balise doit correspondre à celle de la clé de politique. Toutefois, étant donné que la valeur de la clé de politique n'est pas sensible à la casse, l'usage de la casse peut être différent.

    Dans cet exemple, CostCenter est la clé de balise. Il s'agit du traitement de casse requis pour la conformité à la politique de balises. Les ressources qui utilisent un autre traitement de la casse pour cette clé de balise ne sont pas conformes à la politique de balises.

    Vous pouvez définir plusieurs clés de balise dans une politique de balises.

  • (Facultatif) Une liste d'une ou plusieurs valeurs de balise acceptables pour la clé de balise. Si la politique de balises ne spécifie pas de valeur de balise pour une clé de balise, toutes les valeurs (y compris aucune valeur) sont considérées comme conformes.

    Dans cet exemple, les valeurs admises pour la clé de balise CostCenter sont 100 et 200.

  • (Facultatif) Une option enforced_for qui indique s'il convient d'empêcher toute opération de balisage non conforme sur les services et ressources spécifiés. Dans la console, il s'agit de l'option Empêcher les opérations non conformes pour cette balise dans l'éditeur visuel permettant de créer des politiques de balises. La valeur par défaut de cette option est null.

    L'exemple de politique de balise indique que la CostCenter balise transmise à toutes les AWS Secrets Manager ressources doit être conforme à cette politique.

    Avertissement

    Vous ne devez modifier cette option par défaut que si vous êtes familiarisé avec l'utilisation de politiques de balises. Sinon, vous risquez d'empêcher des utilisateurs de comptes de votre organisation de créer les ressources dont ils ont besoin.

  • Des opérateurs qui spécifient la manière dont la politique de balises fusionne avec les autres politiques de balises dans l'arborescence de l'organisation pour créer la politique de balises effective d'un compte. Dans cet exemple, @@assign est utilisé pour affecter des chaînes à tag_key, tag_value et enforced_for. Pour de plus amples informations sur les opérateurs, consultez Opérateurs d'héritage.

  •  : vous pouvez utiliser le caractère générique * dans les valeurs de balise et dans les champs enforced_for.

    • Vous pouvez utiliser un caractère générique par valeur de balise. Par exemple, *@example.com est autorisé, contrairement à *@*.com.

    • Pour enforced_for, vous pouvez utiliser <service>:* avec certains services pour activer l'application pour toutes les ressources de ce service. Pour obtenir la liste des services et des types de ressources qui prennent en charge enforced_for, consultez Services et types de ressource prenant en charge l'application.

      Vous ne pouvez pas utiliser un caractère générique pour spécifier tous les services ou pour spécifier une ressource pour tous les services.

Exemples de politiques de balises

Les exemples de politiques de balises qui suivent sont fournis à titre informatif uniquement.

Note

Avant de tenter d'utiliser ces exemples de politiques de balises dans votre organisation, notez les éléments suivants :

  • Assurez-vous d'avoir suivi le flux de travail recommandé pour commencer à utiliser les politiques de balises.

  • Vous devez vérifier attentivement et personnaliser ces politiques de balises en fonction de vos exigences uniques.

  • Tous les caractères de votre politique de balises sont soumis à une taille maximale. Les exemples présentés dans ce manuel illustrent des politiques de balises formatées avec des espaces supplémentaires pour une meilleure lisibilité. Toutefois, pour gagner de l'espace si la taille de votre politique approche la limite maximale, vous pouvez supprimer tous les espaces. Les espacements et les sauts de ligne à l'extérieur des guillemets sont des exemples d'espaces.

  • Les ressources non balisées n'apparaissent pas dans les résultats comme étant non conformes.

Exemple 1 : Définition d'une casse de clé de balise à l'échelle de l'organisation

L'exemple suivant illustre une politique de balises qui définit uniquement deux clés de balise et la casse selon laquelle vous souhaitez standardiser les comptes de votre organisation.

Politique A : politique de balise attachée à la racine de l'organisation

{ "tags": { "CostCenter": { "tag_key": { "@@assign": "CostCenter", "@@operators_allowed_for_child_policies": ["@@none"] } }, "Project": { "tag_key": { "@@assign": "Project", "@@operators_allowed_for_child_policies": ["@@none"] } } } }

Cette politique de balises définit deux clés de balise : CostCenter et Project. L'attachement de cette politique de balises à la racine de l'organisation a les effets suivants :

  • Tous les comptes de votre organisation héritent de cette politique de balises.

  • Tous les comptes de votre organisation doivent utiliser le traitement de casse défini pour assurer la conformité. Les ressources avec des balises CostCenter et Project sont conformes. Les ressources avec un usage de la casse différent pour la clé de balise (par exemple costcenter, Costcenter, ou COSTCENTER) ne sont pas conformes.

  • Les lignes @@operators_allowed_for_child_policies": ["@@none"] « verrouillent » les clés de balise. Les politiques de balises attachées plus bas dans l'arborescence de l'organisation (politiques enfants) ne peuvent pas utiliser les opérateurs de définition de valeur pour modifier la clé de balise, y compris son traitement de la casse.

  • Comme avec toutes les politiques de balises, les ressources non balisées ou les balises qui ne sont pas définies dans la politique de balises ne sont pas soumises à une évaluation de leur conformité à la politique de balises.

AWS vous recommande d'utiliser cet exemple comme guide pour créer une politique de balise similaire pour les clés de balise que vous souhaitez utiliser. Attachez-la à la racine de l'organisation. Créez ensuite une politique de balises similaire à l'exemple suivant, qui définit uniquement les valeurs admises pour les clés de balise définies.

Étape suivante : Définir des valeurs

Supposons que vous avez attaché la politique de balises précédente à la racine de l'organisation. Vous pouvez ensuite créer une politique de balises comme suit, puis l'attacher à un compte. Cette politique définit les valeurs admises pour les clés de balise CostCenter et Project.

Politique B : politique de balise attachée à un compte

{ "tags": { "CostCenter": { "tag_value": { "@@assign": [ "Production", "Test" ] } }, "Project": { "tag_value": { "@@assign": [ "A", "B" ] } } } }

Si vous attachez la politique A à la racine de l'organisation et la politique B à un compte, les politiques se combinent pour créer la politique de balises effective suivante pour le compte :

Stratégie A + stratégie B = stratégie de balise effective pour le compte

{ "tags": { "Project": { "tag_value": [ "A", "B" ], "tag_key": "Project" }, "CostCenter": { "tag_value": [ "Production", "Test" ], "tag_key": "CostCenter" } } }

Pour de plus amples informations sur l'héritage des politiques, avec des exemples de fonctionnement des opérateurs d'héritage et des exemples de politiques de balises effectives, consultez Fonctionnement de l'héritage des politiques de gestion.

Exemple 2 : Empêcher l'utilisation d'une clé de balise

Pour empêcher l'utilisation d'une clé de balise, vous pouvez attacher une politique de balises telle que la suivante à une entité d'organisation.

Cet exemple de politique spécifie qu'aucune valeur n'est acceptable pour la clé de balise Color. Il spécifie également qu'aucun opérateur n'est autorisé dans les politiques de balises enfants. Par conséquent, toutes les balises Color sur les ressources des comptes concernés sont considérées comme non conformes. Toutefois, l'option enforced_for empêche effectivement les comptes concernés de baliser uniquement les tables Amazon DynamoDB avec la balise Color.

{ "tags": { "Color": { "tag_key": { "@@operators_allowed_for_child_policies": [ "@@none" ], "@@assign": "Color" }, "tag_value": { "@@operators_allowed_for_child_policies": [ "@@none" ], "@@assign": [] }, "enforced_for": { "@@assign": [ "dynamodb:table" ] } } } }