Tags são pares de chave-valor que podem ser anexados aos recursos doGoogle Cloud para anotá-los e aplicar políticas condicionalmente. Essa aplicação condicional oferece controle detalhado sobre os recursos em toda a hierarquia de recursos do Google Cloud .
A hierarquia de recursos do Google Cloud organiza os recursos em uma estrutura em árvore para ajudar você a gerenciá-los em grande escala. No entanto, essa hierarquia modela apenas algumas dimensões de negócios, incluindo estrutura organizacional, regiões, tipos de carga de trabalho e centros de custo. As tags oferecem a flexibilidade de agrupar em camadas várias dimensões de negócios em toda a hierarquia.
Tags e rótulos
Os rótulos são uma maneira separada de criar anotações para recursos. A tabela a seguir lista algumas das diferenças entre tags e rótulos:
| Tags | Rótulos | |
|---|---|---|
| Estrutura de recursos | Chaves de tag, valores de tag e vinculações de tag são todos recursos discretos. | Não são um recurso em si, mas metadados de recursos. |
| Definição | Eles são definidos no nível da organização ou do projeto. | São definidos para cada recurso. |
| Controle de acesso | O gerenciamento e a anexação de tags exigem papéis do Identity and Access Management (IAM). | A anexação de rótulos requer papéis do IAM, que variam de acordo com o recurso de serviço. |
| Pré-requisito para anexar | A chave e o valor da tag precisam ser definidos antes que uma tag possa ser anexada a um recurso. | Não há pré-requisitos para anexar |
| Herança | As vinculações de tags são herdadas pelos filhos do recurso na hierarquia do Google Cloud . | Não são herdados por recursos filhos. |
| Requisitos de exclusão | As tags só podem ser excluídas se não houver vinculações para elas. | Pode ser removido de um recurso a qualquer momento |
| Requisitos de nomenclatura | Requisitos para valores e chaves de tag | Requisitos para rótulos |
| Comprimento do nome da chave-valor | Podem ter no máximo 256 caracteres. | Podem ter 63 caracteres no máximo. |
| Suporte a políticas de permissão e negação | As tags podem ser referenciadas por condições de política de permissão e condições de política de negação. | Sem suporte para políticas de permissão e negação |
| Suporte à política da organização | As tags em alguns recursos podem ser referenciadas por restrições condicionais da política da organização. | Sem suporte para políticas da organização |
| Integração do Cloud Billing | Realizar estornos, auditorias e outras análises de alocação de custos, exportar dados de custo do Cloud Billing para o BigQuery | Filtrar recursos por rótulo no Cloud Billing, exportar dados do Cloud Billing para o BigQuery |
Para mais informações sobre rótulos, consulte Como criar e gerenciar rótulos.
Tags semânticas
Uma tag semântica é um par de chave-valor que fornece metadados significativos para seus recursos com semântica forte e padronizada, apoiada pelas convenções do OpenTelemetry (OTel).
É possível usar tags semânticas com recursos do App Hub. Quando você define atributos em serviços e cargas de trabalho no App Hub, ele os replica automaticamente como tags semânticas de sistema somente leitura nos recursos subjacentes diretos.
As tags semânticas do sistema são somente leitura. Não é possível editar ou remover essas tags do sistema diretamente usando a API Tags ou o console do Google Cloud . O gerenciamento de tags ocorre no App Hub.
Tags semânticas replicadas do App Hub
Se você usa o App Hub, os atributos Ambiente e Importância definidos
nos seus serviços ou cargas de trabalho são replicados automaticamente como tags semânticas de sistema
somente leitura no namespace dedicado google:AppHub.
As tags de sistema compatíveis incluem:
google:AppHub/environment: valores derivados do App Hub, por exemplo,PRODUCTIONouSTAGING.google:AppHub/criticality: valores derivados do App Hub, por exemplo,MISSION_CRITICALouHIGH.
Ao mostrar o contexto do App Hub como tags do sistema, os serviços downstream, como o console do Google Cloud , consomem metadados autoritativos para aplicar políticas de governança e segurança sem os riscos associados à configuração manual.
Para mais informações sobre como gerenciar tags semânticas, consulte Visualizar e gerenciar tags semânticas.
O catálogo semântico
O Catálogo Semântico fornece uma lista de semânticas disponíveis e o mapeamento delas para atributos compatíveis com o OpenTelemetry (OTel). É possível navegar por esse catálogo no console do Google Cloud ou ver detalhes usando APIs.
Para mais informações sobre como acessar o catálogo, consulte Ver o catálogo semântico.
| Chave de semântica | Chave de atributo do OTel | Valor semântico | Valor do atributo do OTel |
|---|---|---|---|
ENVIRONMENT |
deployment.environment.name |
PRODUCTION |
production |
STAGING |
staging |
||
TEST |
test |
||
DEVELOPMENT |
development |
||
CRITICALITY |
service.criticality |
MISSION_CRITICAL |
critical |
HIGH |
high |
||
MEDIUM |
medium |
||
LOW |
low |
Limitações das tags semânticas
As tags semânticas têm as seguintes limitações:
- Vinculações personalizadas: não é possível vincular diretamente tags semânticas
ENVIRONMENTouCRITICALITYa recursos ou nós do Resource Manager (projetos, pastas ou organizações) usando a API Tags. - Semântica definida pelo usuário: não é possível promover as tags atuais para tags semânticas.
- Somente recursos diretos: a sincronização se aplica apenas aos recursos diretos registrados no App Hub. Ela não se propaga para recursos aninhados ou indiretos em um serviço ou carga de trabalho (por exemplo, VMs individuais em um MIG).
Como criar tags
As tags são estruturadas como um par de chave-valor. Um recurso de chave de tag pode ser criado nos
recursos da organização ou do projeto, e os valores de tag são recursos
anexados a uma chave. Por exemplo, uma chave de tag environment com os valores
production e development.
Administração de tags
Os administradores podem controlar o uso de tags restringindo quem pode criar, atualizar, excluir e anexar tags a recursos. Eles podem selecionar uma tag individual para fazer edições, como adicionar ou remover valores e atualizar a descrição. Isso permite um controle detalhado das tags.
As tags podem ter uma descrição que é mostrada quando as informações sobre elas são recuperadas. A descrição ajuda os usuários que anexam a tag ao recurso a entender a finalidade dela.
Em um projeto ou organização pai, cada chave de tag precisa ser exclusiva. Isso garante que cada valor de tag, quando vinculado a um recurso, crie um par exclusivo com a chave de tag.
Políticas e Tags
É possível usar tags e condições do IAM juntas para:
Depois de criar um valor de tag, é possível vinculá-lo a recursos. Em seguida, é possível criar políticas do IAM com condições que identificam recursos com base na vinculação de uma chave de tag ao recurso. Para saber como usar tags e condições do IAM, consulte Tags e acesso condicional.
Impacto das mudanças nas tags
Se você usa tags para conceder ou negar acesso condicionalmente ou para definir o escopo das políticas da organização, vincular ou desvincular uma tag de um recurso pode mudar o impacto dessas políticas.
Por exemplo, suponha que você tenha um grupo de desenvolvedores que precisa gerenciar instâncias do Compute Engine, mas apenas aquelas usadas para desenvolvimento:
- Definições de tag: você tem uma chave de tag
123456789012/envcom os valoresdeveprod. - Acesso condicional: você concede o papel de Administrador da instância do Compute (
roles/compute.instanceAdmin) ao grupo de desenvolvedores. Adicione uma condição à vinculação de papel que permita o acesso somente se o recurso tiver a tagenv: dev. - Efeitos das mudanças:
- Vinculação de tags: você anexa a tag
env: deva uma instância. A vinculação de papel condicional agora concede aos desenvolvedores acesso para gerenciar a instância. - Desvinculação de tags: mais tarde, a mesma instância é promovida para produção.
Você desvincula a tag
env: deve vincula a tagenv: prod. A vinculação de papel condicional não concede mais aos desenvolvedores acesso para gerenciar essa instância.
- Vinculação de tags: você anexa a tag
Em geral, as mudanças nas tags entram em vigor em até 2 minutos. No entanto, as mudanças podem levar até 7 minutos para serem totalmente propagadas pelo sistema. Esse atraso de propagação se aplica à rapidez com que o acesso é concedido ou revogado ou à rapidez com que uma política da organização entra em vigor após uma vinculação ou desvinculação de tag.
Aplicação de tags obrigatórias usando políticas da organização
É possível aplicar tags obrigatórias em recursos usando uma política personalizada da organização. Ao aplicar tags obrigatórias, só é possível criar recursos que obedecem às políticas de inclusão de tags da sua organização. Ou seja, os recursos são vinculados aos valores das chaves de tag obrigatórias especificadas na política. Para mais informações, consulte Configurar uma restrição personalizada para aplicar tags.
A aplicação de tags obrigatórias é compatível com os seguintes tipos de recursos:
- Projetos e pastas do Resource Manager
- Instâncias do Filestore
- Recursos de cluster e backup do AlloyDB para PostgreSQL
- Fluxo de trabalho do Workflows
- Recursos do Compute Engine:
- Instâncias
- Discos
- Gateways de VPN externos
- Gateways de VPN
- Gateways da VPN de destino
- Túneis de VPN
- Interconexões
- Anexos de interconexão
- Serviços de back-end
- Serviços de back-end regionais
- buckets de back-end
- Recursos da VPC:
- Redes
- Sub-redes
- Regras de firewall
- Rotas
Herança de tags
Quando um valor de tag é anexado a um recurso, por padrão, todos os descendentes do recurso herdam o mesmo valor de tag. É possível substituir um valor de tag herdado em um recurso descendente. Para substituir um valor de tag herdado, vincule um valor de tag diferente ao recurso descendente. O valor de tag diferente precisa usar a mesma chave de tag que o valor de tag herdado.
Por exemplo, suponha que você aplique a tag environment: development a uma
pasta que tenha duas subpastas chamadas team-a e team-b.
Também é possível aplicar uma tag diferente, environment: test, à
pasta team-b. Como resultado, os projetos e outros recursos na pasta team-a herdam a tag environment: development, e os projetos e outros recursos na pasta team-b herdam a tag environment: test:
Se você remover a tag environment: test da pasta team-b, essa pasta e os recursos dela vão herdar a tag environment: development.
Todas as tags anexadas e herdadas por um recurso são coletivamente chamadas de tags efetivas. As tags efetivas de um recurso são uma combinação das tags anexadas diretamente a ele, bem como de todas as tags anexadas a todos os ancestrais do recurso em toda a hierarquia.
Ao usar tags com condições do IAM, recomendamos que você crie um valor de tag padrão seguro para cada chave de tag usada pelas condições do IAM. Aplique o valor de tag padrão seguro vinculando esse valor à organização para que ele seja herdado por todos os recursos dentro dela. Altere o valor da tag apenas substituindo explicitamente as vinculações herdadas em recursos relevantes.
Por exemplo, suponha que você tenha uma condição do IAM que dependa do valor de tag on para a chave de tag enforcement, e a chave de tag também tenha um valor de tag off. Vincule o valor de tag enforcement: off à organização para
criar um padrão seguro que seja herdado por todos os recursos da organização.
Vincule o valor da tag enforcement: on apenas aos recursos selecionados na
organização.
Em seguida, é possível escrever políticas que abordem a chave de tag enforcement, com
condições que afetam um recurso se ele for enforcement: on ou
enforcement: off, e um caso seguro se for enforcement: default. Se a chave de tag enforcement for removida de um recurso, ele poderá herdar o valor da tag para enforcement do recurso pai. Se nenhum recurso pai
tiver a chave de tag enforcement, o recurso herdará enforcement: default
do recurso da organização.
Usar uma tag padrão segura pode ajudar, mas para evitar comportamentos indesejados, recomendamos que você revise as tags e as políticas com condições em vigor antes de mover os recursos ou remover as tags.
Como excluir chaves e valores de tags
Antes de excluir um valor de tag, é preciso excluir todas as vinculações de recursos que usam esse valor.
Como proteger valores de tag contra exclusão
É possível criar uma camada extra de proteção para os valores de tag anexando um bloqueio de tag a um valor de tag. Um bloqueio de tag, assim como uma vinculação de tag, impede que um usuário exclua o valor da tag.
Alguns recursos criam automaticamente uma retenção de tag em cada valor de tag anexado ao recurso. É necessário remover esse bloqueio de tag antes de excluir o valor da tag.
A seguir
- Para obter mais informações sobre como usar tags, leia a página Criando e gerenciando tags.
- Para informações sobre como usar tags com o Compute Engine, consulte Gerenciar tags para recursos.
- Para informações sobre como usar tags para definir limites de gerenciamento entre projetos, consulte Visão geral dos limites e recursos de gerenciamento.
- Para saber como usar tags seguras em políticas de firewall, consulte Criar e gerenciar tags seguras.