Como criar e gerenciar tags

Este guia descreve como criar e gerenciar tags. Uma tag é um par de chave-valor que pode ser anexado a um recurso do Google Cloud. É possível usar tags para permitir ou negar políticas condicionalmente se um recurso compatível tiver uma tag específica.

Antes de começar

Para mais informações sobre o que são tags e como elas funcionam, consulte a Visão geral das tags.

Permissões necessárias

As permissões necessárias dependem da ação que você precisa realizar.

Para receber essas permissões, peça ao administrador para conceder o papel sugerido no nível apropriado da hierarquia de recursos.

Visualizar tags

Para visualizar as definições de tag e tags anexadas aos recursos, você precisa do papel Visualizador de tags (roles/resourcemanager.tagViewer) ou de outro papel que inclua as seguintes permissões:

Permissões necessárias

  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.list
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • listTagBindings para o tipo de recurso apropriado. Por exemplo, compute.instances.listTagBindings para visualizar as tags anexadas a instâncias do Compute Engine.
  • listEffectiveTags
  • para o tipo de recurso apropriado. Por exemplo, compute.instances.listEffectiveTags para visualizar todas as tags anexadas ou herdadas pelas instâncias do Compute Engine.

Para visualizar as tags no nível da organização, é preciso ter o papel de Visualizador da organização (roles/resourcemanager.organizationViewer) no recurso da organização.

Administrar tags

Para criar, atualizar e excluir definições de tag, você precisa do papel Administrador de tags (roles/resourcemanager.tagAdmin) ou de outro papel que inclua as seguintes permissões:

Permissões necessárias

  • resourcemanager.tagKeys.create
  • resourcemanager.tagKeys.update
  • resourcemanager.tagKeys.delete
  • resourcemanager.tagKeys.list
  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.getIamPolicy
  • resourcemanager.tagKeys.setIamPolicy
  • resourcemanager.tagValues.create
  • resourcemanager.tagValues.update
  • resourcemanager.tagValues.delete
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • resourcemanager.tagValues.getIamPolicy
  • resourcemanager.tagValues.setIamPolicy

Para administrar tags no nível da organização, você precisa do papel de Visualizador da organização (roles/resourcemanager.organizationViewer) no recurso da organização.

Gerenciar tags em recursos

Para adicionar e remover tags anexadas a recursos, você precisa do papel Usuário da tag (roles/resourcemanager.tagUser) ou de outro papel com permissões equivalentes, nos tag e os recursos que você está anexando ao valor da tag. O papel Tag User inclui as seguintes permissões:

Permissões necessárias

  • As permissões necessárias para o recurso ao qual você está anexando o valor da tag
    • Permissão createTagBinding específica do recurso, como compute.instances.createTagBinding para instâncias do Compute Engine
    • Permissão deleteTagBinding específica do recurso, como compute.instances.deleteTagBinding para instâncias do Compute Engine
  • As permissões necessárias para o valor da tag:
    • resourcemanager.tagValueBindings.create
    • resourcemanager.tagValueBindings.delete
  • Permissões que permitem visualizar projetos e definições de tags:
    • resourcemanager.tagValues.get
    • resourcemanager.tagValues.list
    • resourcemanager.tagKeys.get
    • resourcemanager.tagKeys.list
    • resourcemanager.projects.get

Como criar e definir uma nova tag

As tags são compostas por um par de chave-valor e anexadas a um recurso na sua hierarquia do Google Cloud. Para criar uma nova tag, primeiro é necessário criar a chave dela que descreva a tag que você está criando. Por exemplo, se quiser especificar ambientes de produção, teste e desenvolvimento para recursos na sua hierarquia de recursos, crie uma chave com o nome environment.

Em seguida, crie os diferentes valores da chave. Se você criou uma chave de tag chamada environment, especifique que há três ambientes em potencial e crie um valor para cada um: production,development e test.

É possível criar no máximo 1.000 chaves em uma determinada organização ou projeto, e pode haver um total de 1.000 valores criados para cada chave.

Por fim, você pode anexar esses valores a recursos na sua hierarquia, que têm a associação do par de chave-valor. Por exemplo, é possível anexar test a várias pastas de ambiente de teste em toda a organização, e cada uma precisaria conter o par de chave-valor environment: test.

Como criar uma tag

Para começar, você precisa criar uma chave de tag.

O shortName da chave de tag pode ter no máximo 256 caracteres. O conjunto de caracteres permitidos para shortName inclui caracteres Unicode codificados em UTF-8, exceto aspas simples ('), aspas duplas (") e barras invertidas (\`), and forward slashes (/`).

Depois que o shortName for criado, ele não poderá ser alterado e precisa ser exclusivo no mesmo namespace.

Console

Para criar uma chave de tag, faça o seguinte:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte de cima da página, selecione a organização ou o projeto em que você quer criar uma chave de tag.

  3. Clique em Criar.

  4. Na caixa Chave de tag, insira o nome de exibição da chave. Isso se torna parte do nome de namespace da tag.

  5. Na caixa Descrição da chave de tag, insira uma descrição da chave.

  6. Se você quiser adicionar valores da tag a essa chave, clique em Adicionar valor para cada valor de tag que quiser criar.

  7. Na caixa Valor da tag, insira o nome de exibição do valor da sua tag. Isso se torna parte do nome de namespace da tag.

  8. Na caixa Descrição do valor da tag, insira uma descrição.

  9. Quando terminar de adicionar valores de tag, clique em Criar chave de tag.

gcloud

Para criar uma chave de tag, use o comando gcloud resource-manager tags keys create:

gcloud resource-manager tags keys create SHORT_NAME \
    --parent=RESOURCE_ID

Em que:

  • SHORT_NAME é o nome de exibição da sua chave de tag. Por exemplo: environment.

  • RESOURCE_ID é o ID da organização pai ou recurso do projeto para essa chave de tag, por exemplo: organizations/123456789012, projects/test-project123 ou projects/234567890123. Para saber como conseguir o ID da organização, consulte Como criar e gerenciar organizações. Para saber como conseguir o ID do projeto, consulte Como criar e gerenciar projetos.

Você receberá uma resposta semelhante a esta:

Creating tag key environment in organization 1234567890...
<blocking wait until creation completes>
name: tagKeys/123456789012
short_name: environment
namespaced_name: 123456789012/environment
parent: organizations/123456789012

API

Para criar uma chave de tag, crie uma representação JSON da chave. Para mais informações sobre o formato de uma chave de tag, consulte a referência da TagKey.

Em seguida, use o método tagKeys.create:

POST https://cloudresourcemanager.googleapis.com/v3/tagKeys/ -d

Solicitar corpo JSON:

{
    "parent": RESOURCE_ID,
    "shortName": SHORT_NAME,
    "description": DESCRIPTION,
}

Em que:

  • SHORT_NAME é o nome de exibição da sua chave de tag. Por exemplo: environment.

  • RESOURCE_ID é o ID da organização pai ou recurso do projeto para essa chave de tag, por exemplo: organizations/123456789012, projects/test-project123 ou projects/234567890123. Para saber como conseguir o ID da organização, consulte Como criar e gerenciar organizações. Para saber como conseguir o ID do projeto, consulte Como criar e gerenciar projetos.

  • DESCRIPTION é uma descrição da chave e não pode ter mais de 256 caracteres;

Depois de criar a chave, você pode encontrar o nome de exibição legível exclusivo chamado namespacedName, que tem namespace no recurso pai, e um ID permanente exclusivo globalmente chamado name.

Como visualizar uma chave de tag

É possível encontrar informações sobre uma determinada chave de tag usando o ID permanente ou o nome do namespace que é exibido ao criá-la.

Console

Para visualizar uma tag criada, faça o seguinte:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte de cima da página, selecione a organização ou o projeto que contém sua tag.

  3. Todas as tags na organização ou no projeto selecionado aparecem na lista. Clique na tag com a chave que você quer verificar.

gcloud

Para exibir as informações relacionadas a uma determinada chave de tag, use o comando gcloud resource-manager tags keys describe:

gcloud resource-manager tags keys describe TAGKEY_NAME

TAGKEY_NAME é o ID permanente ou o nome com namespace da chave de tag com informações que você quer exibir. Por exemplo: tagKeys/123456789012 ou project-id/environment.

Você receberá uma resposta semelhante a esta:

name: tagKeys/123456789012
short_name: environment
namespaced_name: 123456789012/environment
parent: organizations/123456789012

API

Para exibir as informações relacionadas a uma determinada chave de tag, use o método tagKeys.get:

GET https://cloudresourcemanager.googleapis.com/v3/{name=TAGKEY_NAME}

TAGKEY_NAME é o ID permanente da chave de tag sobre as quais você quer exibir informações, por exemplo: tagKeys/123456789012.

Para mostrar as informações relacionadas a uma determinada chave de tag usando o nome com namespace, use o método tagKeys.getNamespaced:

GET https://cloudresourcemanager.googleapis.com/v3/tagKeys/namespaced?name={TAGKEY_NAMESPACED_NAME}

TAGKEY_NAMESPACED_NAME é o nome com namespace da chave de tag e tem o formato parentNamespace/tagKeyShortName.

Como adicionar valores de tag

Depois de criar uma chave de tag, adicione valores aceitos para ela.

O shortName do valor da tag precisa atender aos seguintes requisitos:

  • Uma shortName pode ter no máximo 256 caracteres.

  • Um shortName precisa começar com um caractere alfanumérico.

  • Uma shortName pode conter caracteres Unicode codificados em UTF-8, exceto aspas simples ('), aspas duplas (") e barras invertidas (\`), and forward slashes (/`).

  • Um shortName não pode ser alterado depois de ser criado e precisa ser exclusivo dentro do mesmo namespace.

Console

Para criar um valor de tag, faça o seguinte:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte de cima da página, selecione a organização ou o projeto em que você quer criar um valor de tag.

  3. Na lista de tags, clique na tag à qual você quer adicionar um novo valor.

  4. Clique em Adicionar valor.

  5. Na caixa Valor da tag, insira o nome de exibição do valor da sua tag. Isso se torna parte do nome de namespace da tag.

  6. Na caixa Descrição do valor da tag, insira uma descrição.

  7. Clique em Save.

gcloud

Para criar um valor de tag, use o comando gcloud resource-manager tags values create. Especifique a chave com que esse valor é criado:

gcloud resource-manager tags values create TAGVALUE_SHORTNAME \
    --parent=TAGKEY_NAME

Em que:

  • TAGVALUE_SHORTNAME é o nome curto do novo valor da tag; por exemplo: production.

  • TAGKEY_NAME é o ID permanente ou o nome do namespace da chave de tag pai. por exemplo: tagKeys/4567890123.

Você receberá uma resposta semelhante a esta:

Creating tag value production in tag key 123456789012/environment...
<blocking wait until creation completes>
name: tagValues/7890123456
short_name: production
namespaced_name: 123456789012/environment/production
parent: tagKeys/123456789012

API

Para criar um valor de tag, crie uma representação JSON do valor. Para mais informações sobre o formato de um valor de tag, consulte a referência de TagValue.

Em seguida, use o método tagValues.create:

POST https://cloudresourcemanager.googleapis.com/v3/tagValues/ -d

Solicitar corpo JSON:

{
    "parent": TAGKEY_NAME,
    "shortName": SHORT_NAME,
    "description": DESCRIPTION,
}

Em que:

  • TAGKEY_NAME é o ID permanente da chave de tag pai. por exemplo:tagKeys/4567890123.

  • SHORT_NAME é o nome de exibição do valor da tag. Por exemplo: environment.

  • DESCRIPTION é uma descrição do valor e não pode ter mais do que 256 caracteres. Depois de criar o valor, é possível encontrar o nome de exibição legível exclusivo chamado namespacedName, que tem namespace no recurso pai e um ID permanente exclusivo globalmente chamado name.

Como recuperar valores de tag

É possível encontrar informações sobre um valor de tag específico usando o ID permanente ou o nome do namespace que foi exibido ao criá-lo.

Console

Para visualizar uma tag criada, faça o seguinte:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte de cima da página, selecione a organização ou o projeto que contém sua tag.

  3. Todas as tags criadas nesta organização ou neste projeto aparecem na lista. Clique na tag cujos valores você quer ver.

gcloud

Para exibir as informações relacionadas a um determinado valor de tag, use o comando gcloud resource-manager tags values describe:

gcloud resource-manager tags values describe TAGVALUE_NAME

TAGVALUE_NAME é o ID permanente ou o nome com namespace do valor da tag. Por exemplo: tagValues/4567890123 ou 123456789012/environment/production.

Você receberá uma resposta semelhante a esta:

name: tagValues/456789012345
short_name: production
namespaced_name: 123456789012/environment/production
parent: tagKeys/123456789012

API

Para exibir as informações relacionadas a um determinado valor de tag, use o método tagValues.get:

GET https://cloudresourcemanager.googleapis.com/v3/{name=TAGVALUE_NAME}

TAGVALUE_NAME é o ID permanente do valor da tag, por exemplo: tagValues/4567890123.

Para exibir as informações relacionadas a um determinado valor de tag usando o nome com namespace, use o método tagValues.getNamespaced:

GET https://cloudresourcemanager.googleapis.com/v3/tagValues/namespaced?name={TAGVALUE_NAMESPACED_NAME}

TAGVALUE_NAMESPACED_NAME é o nome com namespace do valor da tag e está no formato parentNamespace/tagKeyShortName/tagValueShortName.

Ao fazer referência a tags usando a Google Cloud CLI, é possível usar o nome com namespace ou o ID permanente para as chaves e os valores da tag. Chamadas para a API, exceto getNamespaced, precisam usar apenas o ID permanente. Consulte Definições e identificadores de tag para mais informações sobre os tipos de identificadores usados por uma tag.

Como atualizar tags existentes

É possível modificar uma tag existente atualizando a chave ou os valores associados a ela. Você pode atualizar a descrição de uma tag, mas não o nome curto.

Console

Para atualizar a descrição da chave de tag, faça o seguinte:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte de cima da página, selecione a organização ou o projeto que contém sua chave de tag.

  3. Clique em Ações ao lado da chave de tag que você quer atualizar e clique em Visualizar detalhes.

  4. Clique em Editar ao lado de Descrição, na parte superior da tela.

  5. Atualize a descrição da chave de tag.

  6. Clique em Save.

gcloud

Para modificar uma descrição da chave de tag, use o comando gcloud resource-manager tags keys update:

gcloud resource-manager tags keys update TAGKEY_NAME \
    --description=NEW_DESCRIPTION

Em que:

  • TAGKEY_NAME é o ID permanente ou o nome do namespace da chave a ser atualizada. por exemplo: tagKeys/123456789012.

  • NEW_DESCRIPTION é uma string de no máximo 256 caracteres a ser usada como a nova descrição.

Você receberá uma resposta semelhante a esta:

name: tagKeys/123456789012
short_name: environment
namespaced_name: 123456789012/environment
description: "new description"
parent: organizations/123456789012

API

Para modificar uma descrição da chave de tag, use o método tagKeys.patch:

PATCH https://cloudresourcemanager.googleapis.com/v3/{tagKey.name=TAGKEY_NAME} -d

Solicitar corpo JSON:

{
    "description": DESCRIPTION,
}

Em que:

  • TAGKEY_NAME é o ID permanente da chave de tag. Por exemplo: tagKeys/123456789012.

  • DESCRIPTION é uma descrição da chave e não pode ter mais de 256 caracteres;

Também é possível alterar a descrição dos valores da tag.

Console

Para atualizar a descrição de um valor de tag, faça o seguinte:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte de cima da página, selecione a organização ou o projeto que contém o valor da tag.

  3. Clique em Ações ao lado da chave de tag do valor que você quer atualizar e, em seguida, clique em Visualizar detalhes.

  4. Clique em Ações ao lado do valor da tag que você quer atualizar e, em seguida, clique em Visualizar detalhes.

  5. Clique em Editar ao lado de Descrição, na parte superior da tela.

  6. Atualize a descrição do valor da tag.

  7. Clique em Save.

gcloud

Para modificar uma descrição do valor da tag, use o comando gcloud resource-manager tags values update:

gcloud resource-manager tags values update TAGVALUE_NAME \
    --description="NEW_DESCRIPTION"

Em que:

  • TAGVALUE_NAME é o ID permanente ou o nome do namespace do valor da tag a ser atualizado; por exemplo: tagValues/4567890123.

  • NEW_DESCRIPTION é uma string de no máximo 256 caracteres a ser usada como a nova descrição.

Você receberá uma resposta semelhante a esta:

short_name: production
namespaced_name: 123456789012/environment/production
parent: tagKeys/123456789012
description: "new description"

API

Para modificar a descrição da chave de uma tag, use o comando tagValues.patch:

PATCH https://cloudresourcemanager.googleapis.com/v3/{tagKey.name=TAGVALUE_NAME} -d

Solicitar corpo JSON:

{
    "description": DESCRIPTION,
}

Em que:

  • TAGVALUE_NAME é o nome do ID permanente do valor da tag; por exemplo: tagValues/4567890123.

  • DESCRIPTION é uma descrição da chave e não pode ter mais de 256 caracteres;

Como listar chaves de tags

É possível listar todas as chaves de tags associadas a uma organização ou um recurso de projeto específico usando o console do Google Cloud, a CLI gcloud ou uma chamada para a API.

Console

Para visualizar todas as tags:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte superior da página, selecione a organização ou o projeto que contém suas tags.

  3. Todas as tags criadas nesta organização ou neste projeto aparecem na lista.

gcloud

Para retornar uma lista de todas as chaves de tags criadas em uma organização ou em um recurso de projeto, use o comando gcloud resource-manager tags keys list:

gcloud resource-manager tags keys list --parent=RESOURCE_ID

RESOURCE_ID é o ID da organização ou do recurso do projeto em que você quer encontrar as chaves de tag anexadas.

  • Um ID da organização ou do projeto precisa ser fornecido no formato organizations/ORGANIZATION_ID ou projects/PROJECT_NAME. Por exemplo: organizations/123456789012 e projects/test-project123. Para saber como conseguir o ID da organização, consulte Como criar e gerenciar organizações. Para saber como conseguir o ID do projeto, consulte Como criar e gerenciar projetos. Você receberá uma resposta semelhante a esta:
NAME                     SHORT_NAME      DESCRIPTION
tagKeys/123456789012     environment     description of tag key

API

Para retornar uma lista de todas as chaves de tag de um determinado recurso, use o método tagKeys.list com o recurso pai especificado na consulta:

GET https://cloudresourcemanager.googleapis.com/v3/tagKeys

{
    "parent": "RESOURCE_ID"
}

RESOURCE_ID é o ID do recurso da organização ou do projeto em que você quer encontrar as chaves de tag anexadas, por exemplo: organizations/123456789012 e projects/test-project123.

Listar valores de tag

É possível listar todos os valores de tag associados a uma chave de tag específica usando o console do Google Cloud, a CLI gcloud ou com uma chamada para a API.

Console

Para visualizar todos os valores de tag anexados a uma chave de tag, faça o seguinte:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte de cima da página, selecione a organização ou o projeto que contém a chave da tag.

  3. Clique em Ações ao lado da chave de tag que contém os valores da tag que você quer encontrar e clique em Visualizar detalhes.

  4. Todos os valores da tag que você criou nessa chave de tag aparecerão na lista.

gcloud

Para retornar uma lista de todos os valores de tag anexados a uma chave, use o comando gcloud resource-manager tags values list:

gcloud resource-manager tags values list --parent=TAGKEY_NAME

TAGKEY_NAME é o ID permanente ou o nome com namespace da chave de tag em que você quer encontrar valores anexados, por exemplo: tagKeys/123456789012 ou 1234567/environment.

Você receberá uma resposta semelhante a esta:

NAME                     SHORT_NAME
tagValues/123456789012   production

API

Para retornar uma lista de todos os valores da tag anexados a uma chave, use o método tagValues.list com a chave de tag pai especificada na consulta:

GET https://cloudresourcemanager.googleapis.com/v3/tagValues

{
    "parent": "TAGKEY_NAME"
}

TAGKEY_NAME é o nome do ID permanente da chave de tag. Por exemplo: tagKeys/123456789012.

Como gerenciar o acesso a tags

É possível conceder aos usuários acesso específico para gerenciar tags e anexar valores de tags aos recursos usando o console do Google Cloud. Consulte Permissões necessárias para ver a lista de papéis relacionados às tags e as permissões contidas neles.

Chaves de tag

Para gerenciar o acesso de usuários em uma chave de tag, faça o seguinte:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte de cima da página, selecione a organização ou o projeto que contém a chave de tag em que você quer gerenciar o acesso.

  3. Clique na caixa de seleção ao lado da tag com o acesso que você quer gerenciar.

  4. Clique em Gerenciar acesso.

  5. Para adicionar um papel a um principal, clique em Adicionar principal.

    1. Na caixa de texto Novos principais, insira o endereço de e-mail do principal que você quer conceder um novo papel.

    2. Escolha um papel no menu suspenso Selecionar um papel. Se quiser adicionar mais de um papel, clique em Adicionar outro papel.

    3. Clique em Save.

  6. Para editar o papel de um principal, clique em Editar ao lado do principal que você quer editar.

    1. Para alterar os papéis atribuídos aos principais dessa tag, clique no menu suspenso Papel e escolha um novo papel.

    2. Se quiser adicionar mais papéis, clique em Adicionar outro papel.

    3. Para excluir um papel desse principal na tag, clique em Excluir papel ao lado do papel que você quer excluir.

    4. Clique em Save.

  7. Para excluir o papel de um principal, clique em Excluir papel ao lado do papel que você quer excluir.

    1. Clique em Remover.

Valores da tag

Para gerenciar o acesso de usuários em um valor de tag, faça o seguinte:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte de cima da página, selecione a organização ou o projeto que contém a chave de tag com acesso que você quer gerenciar.

  3. Clique em Ações ao lado da chave de tag do valor cujo acesso você quer gerenciar e, em seguida, clique em Visualizar detalhes.

  4. Clique em Gerenciar acesso.

  5. Para adicionar um papel a um principal, clique em Adicionar principal.

    1. Na caixa de texto Novos principais, insira o endereço de e-mail do principal que você quer conceder um novo papel.

    2. Escolha um papel no menu suspenso Selecionar um papel. Se quiser adicionar mais de um papel, clique em Adicionar outro papel.

    3. Clique em Save.

  6. Para editar o papel de um principal, clique em Editar ao lado do principal que você quer editar.

    1. Para alterar os papéis atribuídos aos principais dessa tag, clique no menu suspenso Papel e escolha um novo papel.

    2. Se quiser adicionar mais papéis, clique em Adicionar outro papel.

    3. Para excluir um papel desse principal na tag, clique em Excluir papel ao lado do papel que você quer excluir.

    4. Clique em Save.

  7. Para excluir o papel de um principal, clique em Excluir papel ao lado do papel que você quer excluir.

    1. Clique em Remover.

Como anexar tags aos recursos

Depois que uma tag é criada e o acesso apropriado é concedido à tag e ao recurso, a tag pode ser anexada a um recurso do Google Cloud como um par de chave-valor. Exatamente um valor pode ser anexado a um recurso para uma determinada chave. Por exemplo, se environment: development estiver anexado, environment: production ou environment: test não poderá ser anexado. Cada recurso pode ter no máximo 300 pares de chave-valor anexados.

As tags são anexadas aos recursos criando um recurso de vinculação de tags que vincula o valor ao recurso do Google Cloud. O fluxo de trabalho a seguir descreve como anexar uma tag a um recurso de organização, pasta ou projeto. Para saber mais sobre como anexar tags a outro tipo de recurso, consulte a documentação desse recurso em Serviços com suporte a tags.

Console

Para anexar uma tag a um recurso de organização, pasta ou projeto, faça o seguinte:

  1. Abra a página Gerenciar recursos no console do Google Cloud.

    Abrir a página "Gerenciar recursos"

  2. Clique na organização, na pasta ou no projeto em que você quer anexar uma tag.

  3. Clique em Tags.

  4. No painel Tags, clique em Selecionar escopo.

  5. Selecione a organização ou o projeto que contém as tags e clique em Abrir.

  6. No painel Tags, selecione Adicionar tag.

  7. No campo Chave, selecione na lista a chave da tag que você quer anexar. Para filtrar a lista, digite palavras-chave.

  8. No campo Valor, selecione na lista o valor da tag que você quer anexar. Para filtrar a lista, digite palavras-chave.

  9. Se você quiser anexar mais tags, clique em Adicionar tag e selecione a chave e o valor de cada uma.

  10. Clique em Save.

  11. Na caixa de diálogo Confirmar, clique em Confirmar para anexar a tag.

  12. Uma notificação confirma que as tags estão atualizadas. As novas tags aparecem na coluna Tags da página Gerenciar recursos.

gcloud

Para anexar uma tag a um recurso, é necessário criar um recurso de vinculação de tags usando o comando gcloud resource-manager tags bindings create:

gcloud resource-manager tags bindings create \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID
--location=LOCATION

Em que:

  • TAGVALUE_NAME é o ID permanente ou o nome com namespace do valor da tag a ser anexado, por exemplo: tagValues/4567890123 ou 12345678/environment/production.

  • RESOURCE_ID é o ID completo do recurso, incluindo o nome de domínio da API para identificar o tipo de recurso (//cloudresourcemanager.googleapis.com/). Por exemplo, para anexar uma tag a projects/7890123456, o ID completo seria: //cloudresourcemanager.googleapis.com/projects/7890123456.

  • LOCATION é o local do recurso. Se você anexar uma tag a um recurso global, como uma pasta ou um projeto, omita essa sinalização. Se você estiver anexando uma tag a um recurso regional, como uma instância do Compute Engine, precisará especificar o local; por exemplo: us-central1.

API

Para anexar uma tag a um recurso, primeiro é necessário criar uma representação JSON de uma vinculação de tag que inclua o ID permanente ou o nome com namespace do valor da tag e o ID permanente do recurso. Para mais informações sobre o formato de uma vinculação de tag, consulte a referência de TagBinding.

Se você estiver anexando a tag a um recurso global, como uma organização, use o método tagBindings.create com o nome do host do endpoint global:

POST https://cloudresourcemanager.googleapis.com/v3/tagBindings

Se você estiver anexando a tag a um recurso regional, como uma instância do Compute Engine, use o método tagBindings.create com o endpoint regional onde o recurso está localizado.

POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

Solicitar corpo JSON:

{
    "parent": RESOURCE_ID,
    "tagValue": TAGVALUE_NAME,
}

OU

{
    "parent": RESOURCE_ID,
    "tagValueNamespacedName": TAGVALUE_NAMESPACED_NAME,
}

Em que:

  • RESOURCE_ID é o ID completo do recurso, incluindo o nome de domínio da API para identificar o tipo de recurso (//cloudresourcemanager.googleapis.com/). Por exemplo, para anexar uma tag a projects/7890123456, o ID completo seria: //cloudresourcemanager.googleapis.com/projects/7890123456.

  • TAGVALUE_NAME é o ID permanente do valor da tag anexado; por exemplo: tagValues/4567890123.

  • TAGVALUE_NAMESPACED_NAME é o nome com namespace do valor da tag anexado e tem o formato: parentNamespace/tagKeyShortName/tagValueShortName.

Como listar todas as tags anexadas a um recurso

Você pode conferir uma lista de todas as tags anexadas a um recurso, para tags herdadas ou diretamente anexadas.

Console

Para ver todas as tags anexadas ou herdadas por um recurso, faça o seguinte:

  1. Abra a página Gerenciar recursos no console do Google Cloud.

    Abrir a página "Gerenciar recursos"

  2. Encontre sua organização, pasta ou projeto na lista de recursos.

  3. As tags anexadas ao recurso aparecem na coluna Tags. As tags herdadas serão marcadas como Herdadas.

gcloud

Para ver uma lista de vinculações de tags anexadas a um recurso, use o comando gcloud resource-manager tags bindings list: Se você adicionar a flag --effective, também retornará uma lista de tags herdadas por esse recurso.

gcloud resource-manager tags bindings list \
    --parent=RESOURCE_ID \
    --location=LOCATION

Em que:

  • RESOURCE_ID é o ID completo do recurso. por exemplo: //cloudresourcemanager.googleapis.com/projects/7890123456

  • LOCATION é o local do recurso; Se você estiver listando as tags anexadas a um recurso global, como uma pasta ou um projeto, omita essa sinalização. Se você estiver anexando uma tag a um recurso regional, como uma instância do Compute Engine, precisará especificar o local; por exemplo: us-central1.

Você receberá uma resposta semelhante a esta:

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
tagValue: tagValues/567890123456
resource: //cloudresourcemanager.googleapis.com/projects/7890123456

Se você adicionar a flag --effective ao comando tags bindings list, também retornará uma lista de todas as tags herdadas por esse recurso. Você receberá uma resposta semelhante a esta:

namespacedTagKey: 961309089256/environment
namespacedTagValue: 961309089256/environment/production
tagKey: tagKeys/417628178507
tagValue: tagValues/247197504380
inherited: true

Se todas as tags avaliadas em um recurso forem anexadas diretamente, o campo inherited será falso e ficará omitido.

API

Para conferir uma lista de vinculações de tags diretamente anexadas a um recurso global, como uma organização, use o método tagBindings.list, especificando o recurso pai na consulta:

GET https://cloudresourcemanager.googleapis.com/v3/tagBindings

{
    "parent": "RESOURCE_ID"
}

Se você quiser listar as vinculações de tags anexadas a um recurso regional, como instâncias do Compute Engine, use o método tagBindings.list com o endpoint regional onde seu recurso está localizado.

GET https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

{
    "parent": "RESOURCE_ID"
}

Em que:

  • RESOURCE_ID é o ID completo do recurso. por exemplo: //cloudresourcemanager.googleapis.com/projects/7890123456.

  • LOCATION é o endpoint regional do recurso; por exemplo: us-central1.

Se a solicitação for bem-sucedida, o corpo da resposta incluirá uma lista de objetos TagBinding. Exemplo:

name: tagBindings/cloudresourcemanager.googleapis.com/projects/7890123456/567890123456
tagValue: tagValues/567890123456
resource: //cloudresourcemanager.googleapis.com/projects/7890123456

Como remover uma tag de um recurso

É possível desanexar uma tag de um recurso excluindo o recurso de vinculação de tags.

Console

Para desanexar uma tag de um recurso de organização, pasta ou projeto, faça o seguinte:

  1. Abra a página Gerenciar recursos no console do Google Cloud.

    Abrir a página "Gerenciar recursos"

  2. Clique na organização, na pasta ou no projeto de que você quer remover uma tag.

  3. Clique em Tags.

  4. No painel Tags, ao lado da tag que você quer remover, clique em Excluir item.

  5. Clique em Save.

  6. Na caixa de diálogo Confirmar, clique em Confirmar para remover a tag.

  7. Uma notificação confirma que as tags estão atualizadas. A lista atualizada de tags aparece na coluna Tags da página Gerenciar recursos.

gcloud

Para excluir uma vinculação de tag, use o comando gcloud resource-manager tags bindings delete:

gcloud resource-manager tags bindings delete \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID \
--location=LOCATION

Em que:

  • TAGVALUE_NAME é o ID permanente ou o nome do namespace do valor da tag anexado; por exemplo: tagValues/567890123456.

  • RESOURCE_ID é o ID completo do recurso. Exemplo: //cloudresourcemanager.googleapis.com/projects/7890123456

  • LOCATION é o local do recurso; Se você estiver excluindo uma vinculação de tag anexada a um recurso global, como uma pasta ou um projeto, omita essa sinalização. Para excluir uma vinculação de tag anexada a um recurso regional, como uma instância do Compute Engine, especifique o local. por exemplo: us-central1.

API

Para excluir uma vinculação de tag anexada a um recurso global, como uma organização, use o método tagBindings.delete:

DELETE https://cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}

Se você quiser excluir uma vinculação de tag anexada a um recurso regional, como uma instância do Compute Engine, use o método tagBindings.delete com o endpoint regional onde o recurso está localizado.

DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}

Em que:

  • TAGBINDINGS_NAME é o ID permanente da TagBinding; por exemplo: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F1234567890/tagValues/567890123456.

  • LOCATION é o endpoint regional do recurso; por exemplo: us-central1.

Proteger valores de tags com retenções de tags

Uma retenção de tags é um recurso que você pode criar para impedir que um valor de tag seja excluído. Se um valor de tag tiver uma retenção de tag, ele não poderá ser excluído pelo usuário, a menos que a retenção seja excluída primeiro.

Como criar retenções de tags

É possível criar manualmente uma retenção de tag usando a CLI gcloud ou a API.

gcloud

Para criar uma retenção de tag, use o comando gcloud resource-manager tags holds create da CLI gcloud:

  gcloud resource-manager tags holds create TAGVALUE_NAME \
  --holder=HOLDER_NAME \
  --location=LOCATION

Em que:

  • TAGVALUE_NAME é o ID permanente ou o nome com namespace do valor da tag em que essa retenção de tag precisa ser criada. Por exemplo: tagValues/567890123456.

  • HOLDER_NAME é o nome do recurso a que o valor da tag está anexado. Precisa ter menos de 200 caracteres.

  • LOCATION é o local do recurso. Se você estiver criando uma retenção de tag para um recurso global, como um projeto do Google Cloud, omita essa sinalização. Se você estiver criando uma retenção de tag para um recurso regional ou zonal, será preciso especificar o local, por exemplo: us-central1.

API

Para criar uma retenção de tag para um valor de tag, primeiro é necessário criar uma representação JSON dessa retenção. Essa referência JSON precisa incluir uma referência ao recurso a que o valor da tag está anexado. Para mais informações sobre o formato da retenção de tags, consulte a referência do TagHolds.

Se você estiver criando uma retenção de tag para um valor de tag anexado a um recurso global, como uma organização, use o método tagHolds.create com o nome do host global do endpoint:

POST https://cloudresourcemanager.googleapis.com/v3/tagValues/TAGVALUE_NAME/tagHolds

Se você estiver criando uma retenção de tag para um valor de tag anexado a um recurso regional, como uma instância do Compute Engine, use o método tagHolds.create com o endpoint regional em que o recurso está localizado.

POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/TAGVALUE_NAME/tagHolds

Solicitar corpo JSON:

{
    "holder":HOLDER_NAME,
    "origin":ORIGIN_NAME
}

Em que:

  • TAGVALUE_NAME é o ID permanente do valor da tag anexado; por exemplo: tagValues/4567890123.

  • HOLDER_NAME é o nome do recurso a que o valor da tag está anexado. Precisa ter menos de 200 caracteres.

  • ORIGIN_NAME é uma string opcional que representa a origem dessa solicitação. Esse campo precisa incluir informações compreensíveis para distinguir as origens umas das outras. Precisa ter menos de 200 caracteres.

Retenções de tags da página de detalhes

É possível listar todas as retenções de tags em um valor de tag específico usando a CLI gcloud ou a API.

gcloud

Para listar as retenções de tags que estão abaixo de um valor de tag, use o comando gcloud resource-manager tags holds list da CLI gcloud:

  gcloud resource-manager tags holds list TAGVALUE_NAME \
  --location=LOCATION

Em que:

  • TAGVALUE_NAME é o ID permanente ou o nome com namespace do valor da tag, por exemplo: tagValues/567890123456.

  • LOCATION é o local do recurso. Se você estiver procurando retenções de tags criadas globalmente, omita essa sinalização. Se você estiver procurando retenções de tags em um recurso regional ou zonal, especifique o local, por exemplo: us-central1.

API

Para conferir uma lista das retenções de tags em um valor de tag, use o método GET tagHolds, especificando o valor da tag mãe no URL:

GET https://cloudresourcemanager.googleapis.com/v3/{TAGVALUE_NAME}/tagHolds

Em que:

  • TAGVALUE_NAME é o ID permanente ou o nome com namespace do valor da tag, por exemplo: tagValues/567890123456.

Removendo retenções de tags

Você pode remover retenções de tags criadas em um valor de tag específico usando a CLI gcloud ou a API.

Alguns recursos adicionam retenções de tag a um valor de tag anexado a esse recurso. Se você anexar uma tag a um recurso, ele vai criar uma retenção de tag que impede que os usuários excluam o valor da tag anexada.

Você pode excluir uma retenção de tag usando a CLI gcloud ou a API.

gcloud

Para excluir uma retenção de tag, use o comando gcloud resource-manager tags holds delete da CLI gcloud:

  gcloud resource-manager tags holds delete TAGHOLD_NAME \
  --location=LOCATION

Em que:

  • TAGHOLD_NAME é o nome com namespace da retenção da tag, que pode ser encontrado usando o comando list. Por exemplo: tagValues/1012910994523/tagHolds/d1c8f5e2-2954-43d6-8f46-5f812ab48c37.

  • LOCATION é o local do recurso. Se você estiver excluindo uma retenção de tag que está em um valor de tag anexado a um recurso global, como uma pasta ou um projeto, omita essa sinalização. Se você estiver excluindo uma retenção de tag criada em um processo regional ou zonal, será necessário especificar o local, por exemplo: us-central1.

API

Para excluir um valor de tag, use o método tagHolds.delete:

DELETE https://cloudresourcemanager.googleapis.com/v3/{TAGVALUE_NAME}/tagHolds/{TAGHOLD_NAME}

Em que:

  • TAGVALUE_NAME é o ID permanente do valor da tag a que a retenção de tag que você quer excluir está anexada, por exemplo: tagValues/567890123456.

  • TAGHOLD_NAME é o nome com namespace da retenção de tag que você quer excluir, que pode ser encontrada usando o comando list. Por exemplo: tagValues/1012910994523/tagHolds/d1c8f5e2-2954-43d6-8f46-5f812ab48c37.

Excluindo tags

Para excluir uma tag, é necessário excluir cada um dos componentes que a definem. Primeiro, exclua todas as vinculações de tag que anexam essa tag aos recursos na sua hierarquia. Para instruções sobre como excluir vinculações de tags, consulte Como remover uma tag de um recurso.

Se a tag for usada por outro recurso ou se um usuário tiver criado manualmente uma retenção de tag, talvez seja necessário remover as retenções de tag e excluir as vinculações de tag antes de excluir os valores da tag. Para mais informações sobre como remover retenções de tags, consulte Como remover retenções de tags.

Quando não houver mais vinculações de tag para os valores de tag que você quer excluir, é possível excluir os valores.

Console

Para excluir um valor de tag, faça o seguinte:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte de cima da página, selecione a organização ou o projeto que contém o valor da tag.

  3. Clique em Ações ao lado da chave de tag que contém o valor da tag que você quer excluir e clique em Ver detalhes.

  4. Na lista de valores da tag associados a essa chave, clique no valor que você quer excluir.

  5. Clique na caixa de seleção ao lado do valor da tag que você quer excluir e clique em Excluir valores.

  6. Clique em Confirm.

gcloud

Para excluir uma vinculação de tag, use o comando gcloud resource-manager tag values delete:

gcloud resource-manager tags values delete TAGVALUE_NAME

TAGVALUE_NAME é o ID permanente ou o nome com namespace do valor da tag que você quer excluir. Por exemplo: tagValues/567890123456.

API

Para excluir um valor de tag, use o método tagValues.delete:

DELETE https://cloudresourcemanager.googleapis.com/v3/{name=TAGVALUE_NAME}

TAGVALUE_NAME é o ID permanente do valor da tag que você quer excluir, por exemplo: tagValues/567890123456.

Depois que todos os valores de tag associados a uma chave forem excluídos, você poderá excluí-la.

Console

Para excluir uma chave de tag, faça o seguinte:

  1. Abra a página Tags no console do Google Cloud.

    Abrir a página "Tags"

  2. No Seletor de escopo na parte de cima da página, selecione a organização ou o projeto que contém sua chave de tag.

  3. Clique na caixa de seleção ao lado da chave de tag que você quer excluir.

  4. Clique em Excluir tags.

  5. Clique em Confirm.

gcloud

Para excluir uma vinculação de tag, use o comando gcloud resource-manager tags keys delete:

gcloud resource-manager tags keys delete TAGKEYS_NAME

TAGKEYS_NAME é o ID permanente ou o nome com namespace da chave de tag que você quer excluir, por exemplo: tagKeys/123456789012.

API

Para excluir uma chave de tag, use o método tagKeys.delete:

DELETE https://cloudresourcemanager.googleapis.com/v3/{name=TAGKEYS_NAME}

TAGKEYS_NAME é o ID permanente da chave de tag que você quer excluir, por exemplo, tagKeys/123456789012.

Políticas e Tags

Use tags com políticas compatíveis para aplicá-las condicionalmente. Torne a presença ou ausência de um valor de tag uma condição para essa política.

Por exemplo, é possível conceder condicionalmente papéis de gerenciamento de identidade e acesso (IAM, na sigla em inglês) com base no fato de um recurso ter uma tag específica.

Condições e tags do Identity and Access Management

Use tags e condições do Identity and Access Management para conceder papéis condicionalmente aos usuários na hierarquia. Esse processo torna os recursos inacessíveis aos usuários até que uma tag associada a uma política condicional seja anexada. Por exemplo, talvez você queira exigir que os desenvolvedores atribuam um centro de custo a um recurso antes de usá-lo.

  1. Crie uma tag que possa ser usada para associar recursos a algo que identificará se os recursos tiveram a governança adequada aplicada. Por exemplo, você pode criar uma tag com a chave costCenter e os valores 0001, 0002 e assim por diante, para associar os recursos aos vários centros de custo em sua empresa.

  2. Crie um papel personalizado no nível da organização que permita aos usuários adicionar tags aos recursos em que você precisa delas. Isso concede essas permissões aos principais especificados em qualquer lugar da organização.

    Por exemplo, um papel personalizado que permite aos usuários adicionar tags a projetos inclui as seguintes permissões:

    • resourcemanager.projects.get
    • resourcemanager.hierarchyNodes.create
    • resourcemanager.hierarchyNodes.delete
    • resourcemanager.hierarchyNodes.list
  3. Ao criar projetos para os desenvolvedores, atribua a eles esse papel personalizado no projeto.

  4. Atribua quaisquer outros papéis aos desenvolvedores que incluam as permissões para eles executarem as ações desejadas dentro desse projeto. Ao conceder papéis aos usuários no projeto, eles precisam ser sempre concedidos condicionalmente para exigir o anexo da tag costCenter.

    resource.hasTagKey('123456789012/costCenter')
    

Agora, sempre que um projeto for criado, seus desenvolvedores precisarão anexar a tag costCenter a ele antes de executar as ações concedidas pela política do IAM.

Políticas e tags da organização

Use tags e aplicação condicional de políticas da organização para fornecer controle centralizado dos recursos na sua hierarquia. Para mais informações, consulte Como definir uma política da organização com tags.

Serviços compatíveis

Para ver uma lista de serviços compatíveis com tags, consulte Serviços compatíveis com tags.

Solução de problemas conhecidos

A expressão de condição falha

Se você executar um dos comandos add-iam-policy-binding usando a Google Cloud CLI e a política do IAM nesse recurso contiver vinculações de papéis condicionais para esse papel, a ferramenta da CLI gcloud solicitará que você escolha uma das expressões de condição que existem na política. Se você escolher uma expressão condicional que contenha uma vírgula, o comando falhará. Para contornar esse problema, use a sinalização --condition para especificar uma expressão de condição na linha de comando.