O que são tags? - Práticas recomendadas para políticas

O que são tags?

Uma tag é um par de valores-chave aplicado a um recurso para armazenar metadados sobre esse recurso. Cada tag é um rótulo que consiste em uma chave e um valor opcional. Atualmente, nem todos os serviços e tipos de recursos oferecem suporte a tags (consulte Serviços compatíveis com a API Resource Groups Tagging). Outros serviços podem oferecer suporte a tags por meio de suas próprias APIs. Deve-se observar que as tags não são criptografadas e não devem ser usadas para armazenar dados sigilosos, como informações de identificação pessoal (PII).

As tags que um usuário cria e aplica aos AWS recursos usando a AWS CLI API ou a AWS Management Console são conhecidas como tags definidas pelo usuário. Vários serviços AWS como o AWS CloudFormation, Elastic Beanstalk e o Auto Scaling, atribuem automaticamente tags aos recursos que eles criam e gerenciam. Essas chaves são conhecidas como tags geradas pela AWS e geralmente são prefixadas com aws. Esse prefixo não pode ser usado em chaves de tag definidas pelo usuário.

Há requisitos de uso e limites no número de tags definidas pelo usuário que podem ser adicionadas a um recurso AWS. Para obter mais informações, consulte Limites e requisitos de nomeação de tags no guia de referência geral da AWS. As tags geradas pela AWS não contam para esses limites de tags definidos pelo usuário.

Tabela 1 — Exemplos de chaves e valores de tag definidos pelo usuário

ID da instância Chave de tag Valor de etiqueta
i-01234567abcdef89a CostCenter 98765
Stack Test
i-12345678abcdef90b CostCenter 98765
Stack Production

Tabela 2 — Exemplos de tags geradas pela AWS

Chaves de tag geradas pela AWS Lógica
aws:ec2spot:fleet-request-id Identifica a solicitação da Instância Spot do Amazon EC2 que iniciou a instância
aws:cloudformation:stack-name Identifica a pilha AWS CloudFormation que criou o recurso
lambda-console:blueprint Identifica o blueprint usado como modelo para uma função AWS Lambda
elasticbeanstalk:environment-name Identifica o aplicativo que criou o recurso
aws:servicecatalog:provisionedProductArn O nome de recurso da Amazon (ARN) do produto provisionado
aws:servicecatalog:productArn O ARN do produto a partir do qual o produto provisionado foi lançado

As tags geradas pela AWS formam um namespace. Por exemplo, em um modelo AWS CloudFormation, você define um conjunto de recursos a serem implantados juntos em um stack, em que stack-name é um nome descritivo que você atribui para identificá-lo. Se você examinar uma chave como aws:cloudformation:stack-name, verá que o namespace usado para definir o escopo do parâmetro usa três elementos: aws, a organização, cloudformation, o serviço, e stack-name, o parâmetro.

As tags definidas pelo usuário também podem usar namespaces e é recomendável usar um identificador organizacional como prefixo. Isso ajuda você a identificar rapidamente se uma tag é algo do seu esquema gerenciado ou algo definido por um serviço ou ferramenta que você está usando em seu ambiente.

No whitepaper Estabelecendo sua base na nuvem AWS, recomendamos um conjunto de tags que devem ser implementadas. É muito provável que diferentes empresas tenham diferentes padrões permitidos e listas diferentes para uma determinada tag. Observando o exemplo na Tabela 3:

Tabela 3 — Mesma chave de tag, regras de validação de valor diferentes

Organização

Chave de tag Validação de valores de tag Exemplo de valor de tag
Empresa A CostCenter 5432, 5422, 5499 5432
Empresa B CostCenter ABC* ABC123

Se esses dois esquemas estiverem em organizações separadas, não haverá problema com conflitos de tags. No entanto, se esses dois ambientes se fundirem, os namespaces podem entrar em conflito e a validação se torna mais complexa. Esse cenário pode parecer improvável, mas as empresas são adquiridas ou fundidas, e há outros cenários, como clientes que trabalham com um provedor de serviços gerenciados, editor de jogos ou empresa de capital de risco, em que contas de diferentes organizações fazem parte de uma organização AWS compartilhada. Ao usar o nome da empresa como prefixo para definir um namespace exclusivo, esses desafios podem ser evitados, conforme mostrado na Tabela 4:

Tabela 4 — Uso de namespaces em chaves de tag

Organização

Chave de tag Validação de valores de tag Exemplo de valor de tag
Empresa A company-a:CostCenter 5432, 5422, 5499 5432
Empresa B company-b:CostCenter ABC* ABC123

Em organizações grandes e complexas, onde as empresas são adquiridas e alienadas regularmente, essa situação ocorrerá com mais frequência. À medida que os processos e práticas da nova aquisição são harmonizados em todo o grupo, a situação é resolvida. Ter namespaces distintos ajuda porque o uso das tags mais antigas pode ser relatado e as equipes relevantes podem ser contatadas para adotar o novo esquema. Um namespace também pode ser usado para indicar um escopo ou representar um caso de uso ou uma área de responsabilidade alinhada aos proprietários organizacionais.

Tabela 5 - Exemplo de escopo ou escopo de caso de uso nas chaves de tag

Caso de uso Chave de tag Lógica Valores permitidos
Classificação de dados example-inc:info-sec:data-classification Conjunto definido de classificação de dados para segurança da informação sensitive, company-confidential, customer-identifiable
Operações example-inc:dev-ops:environment Implemente o agendamento de ambientes de teste e desenvolvimento development, staging, quality-assurance, production
Recuperação de desastres example-inc:disaster-recovery:rpo Defina o objetivo de ponto de recuperação (RPO) para um recurso 6h, 24h
Alocação de custos example-inc:cost-allocation:business-unit As equipes financeiras precisam de relatórios de custos sobre o uso e os gastos de cada equipe corporate, recruitment, support, engineering

As etiquetas são simples e flexíveis. Tanto a chave quanto o valor da tag são cadeias de caracteres de comprimento variável e podem suportar um amplo conjunto de caracteres. Para obter mais informações sobre comprimentos e conjuntos de caracteres, consulte Marcação de recursos da AWS na Referência geral da AWS. As tags diferenciam maiúsculas de minúsculas, o que significa que costCenter e costcenter são chaves de tag diferentes. Em países diferentes, a grafia de uma palavra pode ser diferente, o que pode afetar suas teclas. Por exemplo, nos Estados Unidos, pode-se definir uma chave como costcenter, mas no Reino Unido, costcentre pode ser preferível. Essas são chaves diferentes do ponto de vista da marcação de recursos. Defina ortografia, maiúsculas e minúsculas e pontuação como parte de sua estratégia de marcação. Use essas definições como referência para qualquer pessoa que crie ou gerencie recursos. Esse tópico é discutido em mais detalhes na próxima seção, Criar política de tag.