Sintaxe e exemplos de políticas de tag - AWS Organizations

Sintaxe e exemplos de políticas de tag

Esta página fornece sintaxe e exemplos das políticas de tag.

Sintaxe de política de tag

Uma política de tag é um arquivo de texto sem formatação estruturado de acordo com as regras do JSON. A sintaxe para políticas de tag segue a sintaxe para os tipos de política de gerenciamento. Para ver uma discussão completa sobre essa sintaxe, consulte Sintaxe de política e herança para tipos de política de gerenciamento. Este tópico se concentra na aplicação dessa sintaxe geral aos requisitos específicos do tipo de política de tag.

A seguinte política de tag mostra a sintaxe básica da política de tag:

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

A sintaxe da política de tag inclui os seguintes elementos:

  • O nome da chave de campo tags. As políticas de tag sempre começam com esse nome de chave fixo. É a linha superior na política de exemplo acima.

  • Uma chave de política que identifica exclusivamente a declaração da política. Ela deve corresponder ao valor da chave de tag, exceto para o tratamento de maiúsculas e minúsculas. Ao contrário da chave de tag (descrita em seguida), o valor da política não faz distinção entre maiúsculas e minúsculas.

    Neste exemplo, costcenter é a chave de política.

  • Pelo menos uma chave de tag que especifica a chave de tag permitida com o uso de maiúsculas e minúsculas com o qual você deseja que os recursos sejam compatíveis. Se o tratamento de maiúsculas e minúsculas não está definido, o uso de minúsculas é o tratamento padrão para as chaves de tag. O valor da chave de tag deve corresponder ao valor da chave de política. Mas como o valor da chave de política não diferencia o uso de maiúsculas e minúsculas, os valores podem ser definidos de modo diferente.

    Neste exemplo, CostCenter é a chave de tag. Este é o tratamento de maiúsculas e minúsculas necessário para a conformidade com a política de tag. Os recursos com tratamento alternativo de maiúsculas e minúsculas para esta chave de tag não estão em conformidade com a política de tag.

    Você pode definir várias chaves de tag em uma política de tag.

  • (Opcional) Uma lista de um ou mais valores de tag aceitáveis para a chave de tag. Se a política de tag não especificar um valor de tag para uma chave de tag, qualquer valor (incluindo nenhum valor) será considerado compatível.

    Neste exemplo, os valores aceitáveis para a chave de tag CostCenter são 100 e 200.

  • (Opcional) Uma opção enforced_for que indica se deve impedir qualquer operação de atribuição de tags incompatível em serviços e recursos especificados. No console, trata-se da opção Prevent noncompliant operations for this tag (Impedir operações incompatíveis para esta tag) no editor visual para criar políticas de tag. A configuração padrão para esta opção é nula.

    A política de tag de exemplo especifica que todos os recursos do AWS Secrets Manager devem ter essa tag.

    Atenção

    Você só deve alterar essa opção com a configuração padrão se tem experiência em usar políticas de tag. Caso contrário, você pode impedir que os usuários nas contas da organização criem os recursos necessários.

  • Os operadores que especificam como a política de tag se mescla com outras políticas de tag dentro da árvore da organização para criar a política de tag efetiva de uma conta. Neste exemplo, @@assign é usado para atribuir strings a tag_key, tag_value, e enforced_for. Para obter mais informações sobre operadores, consulte Operadores de herança.

  • – Você pode usar o caractere curinga * em valores de tag e campos de enforced_for.

    • Você só pode usar um caractere curinga por valor de tag. Por exemplo, *@example.com é permitido, mas *@*.com não é.

    • Para enforced_for, você pode usar o <service>:* com alguns serviços para habilitar a aplicação de todos os recursos desse serviço. Para obter uma lista de serviços e tipos de recursos que são compatíveis com enforced_for, consulte Serviços e tipos de recursos compatíveis com a aplicação.

      Não é possível usar um caractere curinga para especificar todos os serviços ou para especificar um recurso para todos os serviços.

Exemplos da política de tags

As políticas de tag de exemplo a seguir são apenas para fins informativos.

nota

Antes de tentar usar essas políticas de tag de exemplo em sua organização, observe o seguinte:

  • Certifique-se de que seguiu o fluxo de trabalho recomendado para começar a usar as políticas de tag.

  • Você deve revisar e personalizar cuidadosamente essas política de tag de acordo com seus requisitos exclusivos.

  • Todos os caracteres em sua política de tags estão sujeitos a um tamanho máximo. Os exemplos deste guia mostram as políticas de tag formatadas com espaço em branco adicional para melhorar a legibilidade. No entanto, você pode excluir todos os espaços em branco para economizar espaço se o tamanho da política se aproximar ao tamanho máximo. Exemplos de espaço em branco incluem caracteres de espaço e quebras de linha que estão fora das aspas.

  • Os recursos sem tag não são exibidos como incompatíveis nos resultados.

Exemplo 1: definir maiúsculas e minúsculas de chave de tag em toda a organização

O exemplo a seguir mostra uma política de tag que define apenas duas chaves de tag e o uso de maiúsculas e minúsculas que você deseja que as contas da organização usem como padrão.

Política A – política de tag da raiz da organização

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

Esta política de tag define duas chaves de tag: CostCenter e Project Anexar essa política de tag à raiz da organização tem os seguintes efeitos:

  • Todas as contas em sua organização herdam essa política de tag.

  • Todas as contas em sua organização devem usar o tratamento de maiúsculas e minúsculas definido para a conformidade. Os recursos com as tags CostCenter Project e estão em conformidade. Os recursos com tratamento alternativo de maiúsculas e minúsculas para a chave de tag (por exemplo, costcenter, Costcenter ou COSTCENTER) não estão em conformidade.

  • As linhas @@operators_allowed_for_child_policies": ["@@none"] bloqueiam as chaves de tag. As políticas de tag anexadas mais abaixo na árvore da organização (políticas subordinadas) não podem usar operadores de definição de valor para alterar a chave de tag, incluindo o tratamento de maiúsculas e minúsculas.

  • Assim como acontece com todas as políticas de tag, os recursos sem tag ou as tags que não estejam definidas na política de tag não são avaliados quanto à conformidade com a política de tag.

AWSA recomenda que você use este exemplo como guia na criação de uma política de tag semelhante para chaves de tag que deseja usar. Anexe-a à raiz da organização. Em seguida, crie uma política de tag semelhante ao exemplo a seguir, que define apenas os valores aceitáveis para as chaves de tag definidas.

Próxima etapa: definir valores

Suponha que anexou a política de tags anterior à raiz da organização. Em seguida, você pode criar uma política de tag como o exemplo a seguir e anexá-la a uma conta. Esta política define valores aceitáveis para as chaves de tag CostCenter e Project.

Política B – política de tag de conta

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

Se você anexar a Política A à raiz da organização e a Política B a uma conta, as políticas são combinadas para criar a seguinte política de tag efetiva para a conta:

Política A + Política B = política de tag efetiva para a conta

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

Para obter mais informações sobre herança de política, incluindo exemplos de como os operadores de herança funcionam e exemplo de políticas de tag efetivas, consulte Noções básicas sobre herança das políticas.

Exemplo 2: impedir o uso de uma chave de tag

Para impedir o uso de uma chave de tag, você pode anexar uma política de tag como a seguinte a uma entidade da organização.

Esta política de exemplo especifica que nenhum valor é aceitável para a chave de tag Color. Ela também especifica que nenhum operador é permitido em políticas de tag filho. Portanto, qualquer tag Color nos recursos das contas afetadas é considerada não compatíveis. Porém, a opção enforced_for na verdade impede somente que as contas afetadas marquem as tabelas do Amazon DynamoDB com a tag 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" ] } } } }