As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Sintaxe e exemplos de políticas de tag
Esta página fornece sintaxe e exemplos das políticas de tag.
Tópicos
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 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", "300*" ] }, "enforced_for": { "@@assign": [ "secretsmanager:ALL_SUPPORTED" ] } } } }
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. O valor da política diferencia maiúsculas de 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
CostCentersão100,200e300*. -
(Opcional) Uma opção
enforced_forque 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.O exemplo de política de tags especifica que a
CostCentertag aplicada a todos os AWS Secrets Manager recursos deve estar em conformidade com essa política.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 atag_key,tag_value, eenforced_for. Para obter mais informações sobre operadores, consulte Operadores de herança. -
: você pode usar o caractere curinga
*em valores de tag.-
Você só pode usar um caractere curinga por valor de tag. Por exemplo,
*@example.comé permitido, mas*@*.comnão é. -
Você pode usar o
ALL_SUPPORTEDcaractere curinga noenforced_forcampo com alguns serviços para permitir a aplicação de todos os recursos compatíveis com esse serviço. Para obter uma lista de serviços e tipos de recursos que são compatíveis comenforced_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íticas 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
ProjectCostCentere estão em conformidade. Os recursos com tratamento alternativo de maiúsculas e minúsculas para a chave de tag (por exemplo,costcenter,CostcenterouCOSTCENTER) 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.
AWS recomenda que você use esse exemplo como um guia para criar uma política de tag semelhante para as chaves de tag que você 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 em vigor, consulte Entendendo a herança declarativa de 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" ] } } } }
Exemplo 3: especifique uma política de tags para todos os tipos de recursos compatíveis de um determinado AWS service
Para especificar uma política de tags para todos os tipos de recursos compatíveis de um AWS serviço específico, use o ALL_SUPPORTED caractere curinga.
Essa política usa o curinga ALL_SUPPORTED para especificar que todas as instâncias do Amazon EC2 com a chave de tag Environment só podem ter um valor de tag de Prod ou Non-prod. Este curinga oferece uma alternativa eficaz e concisa para listar cada instância do Amazon EC2 individualmente. Para obter uma lista de serviços e tipos de recursos que são compatíveis com o curinga ALL_SUPPORTED, consulte Serviços e tipos de recursos compatíveis com a aplicação.
{ "tags": { "Environment": { "tag_key": { "@@assign": "Environment", "@@operators_allowed_for_child_policies": ["@@none"] }, "tag_value": { "@@assign": [ "Prod", "Non-prod" ], "@@operators_allowed_for_child_policies": ["@@none"] }, "enforced_for": { "@@assign": [ "ec2:ALL_SUPPORTED" ] } } } }
Exemplo 4: imponha as chaves de tag necessárias para fins de conformidade
Este exemplo demonstra como definir uma política de tags que exige que todos os recursos incluam etiquetas de conformidade obrigatórias. As organizações geralmente usam esse padrão para garantir a alocação adequada de custos, o controle de propriedade e a identificação do ambiente.
{ "tags": { "CostCenter": { "report_required_tag_for": { "@@assign": [ "ec2:instance", "s3:bucket", "rds:db", "lambda:function" ] }, "tag_key": { "@@assign": "CostCenter" } }, "Environment": { "report_required_tag_for": { "@@assign": [ "ec2:ALL_SUPPORTED", "rds:ALL_SUPPORTED", "s3:ALL_SUPPORTED" ] }, "tag_key": { "@@assign": "Environment" }, "tag_value": { "@@assign": [ "Production", "Staging", "Development", "Test" ] } }, "Owner": { "report_required_tag_for": { "@@assign": [ "ec2:ALL_SUPPORTED" ] }, "tag_key": { "@@assign": "Owner" } } } }
Quando você aplica essa política e configura sua ferramenta de IaC com a aplicação da política de tags:
-
CostCenter: Necessário para instâncias EC2, buckets S3, bancos de dados RDS e funções Lambda
-
Ambiente: necessário para todos os recursos do EC2, RDS e S3, com valores permitidos restritos à produção, preparação, desenvolvimento ou teste
-
Proprietário: obrigatório para todos os recursos do EC2 em sua organização
Exemplo de código de infraestrutura que está em conformidade com esta política:
EC2Instance: Type: AWS::EC2::Instance Properties: ImageId: ami-0c02fb55956c7d316 InstanceType: t2.micro Tags: - Key: CostCenter Value: CC-12345 - Key: Environment Value: Test - Key: Owner Value: john.doe@company.com
Se você tentar criar um recurso sem as tags necessárias, sua implantação do IaC falhará ou gerará um aviso durante a fase de planejamento, dependendo da sua configuração. Quando configurada no modo de falha, a implantação é bloqueada antes que qualquer recurso seja criado. Quando configurada no modo de aviso, a implantação prossegue, mas alerta sua equipe sobre as tags ausentes. A mensagem de erro de validação identifica exatamente quais tags necessárias estão faltando e quais recursos precisam delas.
Para obter instruções de configuração específicas para sua ferramenta IaC:
-
CloudFormation: Consulte Imponha com CloudFormation para ativar o gancho de conformidade de etiquetagem
-
Terraform: Consulte Aplique com o Terraform para habilitar a validação da política de tags no provedor AWS
-
Pulumi: Consulte Imponha com Pulumi para habilitar o pacote de políticas do Tag Policy Reporting