Como criar e gerenciar tags

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Este guia descreve como criar e gerenciar tags. Uma tag é um par de chave-valor que pode ser anexado a uma organização, pasta ou projeto. É possível usar tags para permitir ou negar políticas condicionalmente com base no fato de um recurso ter 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:

  • 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.

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:

  • 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

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:

  • 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 são anexadas a um recurso de organização, pasta ou projeto na hierarquia do Google Cloud. Para isso, primeiro crie uma chave de tag que descreva a tag que você está criando. Por exemplo, talvez você queira especificar ambientes de produção, teste e desenvolvimento para recursos em sua hierarquia de recursos criando 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 criadas em uma determinada organização, 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 um tamanho máximo de 63 caracteres. O conjunto de caracteres permitidos para shortName inclui caracteres alfanuméricos maiúsculos e minúsculos (sem internacionalização), hifens, sublinhados e pontos. O shortName precisa começar e terminar com um caractere alfanumérico. Depois que o shortName é criado, não é possível alterá-lo 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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

  4. Clique em Criar tag.

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

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

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

  8. 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.

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

  10. Quando terminar de adicionar valores de tag, clique em Criar 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=organizations/ORGANIZATION_ID

Em que:

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

  • ORGANIZATION_ID é o ID da organização que será o recurso pai dessa chave de tag; por exemplo: 123456789012. Para saber como conseguir o ID da sua organização, consulte Como criar e gerenciar organizações.

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": ORGANIZATION_ID,
    "shortName": SHORT_NAME,
    "description": DESCRIPTION,
}

Em que:

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

  • ORGANIZATION_ID é o ID da organização que será o recurso pai dessa chave de tag; por exemplo: organizations/123456789012. Para saber como conseguir o ID da sua organização, consulte Como criar e gerenciar organizações.

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

Depois de criar a chave, é possível encontrar o nome de exibição legível exclusivo chamado namespacedName, que tem namespace na organização pai e um ID permanente globalmente exclusivo 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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

  4. Todas as tags desta organização aparecem na lista. Clique na tag com a chave de tag que você quer ver.

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

Em que TAGKEY_NAME é o ID permanente ou o nome do namespace da chave de tag de que você quer exibir informações. por exemplo: tagKeys/123456789012.

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}

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

Como adicionar valores de tag

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

O valor da tag shortName precisa atender aos seguintes requisitos:

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

  • O shortName precisa começar e terminar com um caractere alfanumérico.

  • Um shortName precisa conter apenas caracteres alfanuméricos minúsculos e minúsculos (sem internacionalização), hifens (-), sublinhados (_), pontos (.), arrobas (@), sinais de porcentagem (%), sinais de igual (=), sinais de adição (+), dois-pontos (:), vírgulas (,), asteriscos (*), cerquilhas (&), cerquilhas (&), chaveiros (1, 1, 2, 1, 2, 2 ou 2) e mais

  • Um shortName não pode ser alterado depois de criado e precisa ser exclusivo no 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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

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

  5. Clique em Adicionar valor.

  6. 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.

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

  8. Clique em Save.

gcloud

Para criar um valor de tag, use o comando gcloud resource-manager tags keys 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 na organização pai e um ID permanente globalmente exclusivo 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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

  4. Todas as tags que você criou nessa organização aparecem na lista. Clique na tag com os valores da tag.

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

Em que TAGVALUE_NAME é o nome de namespace do valor da tag. por exemplo: 123456789012/environment/production.

Você receberá uma resposta semelhante a esta:

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}

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

Ao fazer referência a tags usando a Google Cloud CLI, é possível usar o nome com namespace ou o ID permanente para chaves e valores de tag. As chamadas para a API só devem usar o ID permanente. Consulte Definições e identificadores de tags 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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

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

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

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

  7. 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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

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

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

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

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

  8. 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

Para listar todas as chaves de tag associadas a uma determinada organização, use 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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

  4. Todas as tags que você criou nessa organização aparecem na lista.

gcloud

Para retornar uma lista de todas as chaves de tag anexadas a um recurso organização, use o comando gcloud resource-manager tags keys list:

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

em que ORGANIZATION_ID é o ID da organização para a qual você quer encontrar as chaves de tag anexadas.

  • Um ID da organização precisa ser fornecido no formato organizations/ORGANIZATION_ID. Por exemplo: organizations/123456789012. Para saber como conseguir o ID da sua organização, consulte Como criar e gerenciar organizações.

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"
}

em que RESOURCE_ID é o código do recurso para o qual você quer encontrar as chaves de tag anexadas. por exemplo: organizations/123456789012.

Listar valores de tag

Para listar todos os valores de tags associados a uma chave de tag específica, use o Console do Google Cloud, a CLI gcloud ou 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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

  4. 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.

  5. 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

Em que TAGKEY_NAME é o ID permanente ou o nome do namespace da chave de tag em que você quer encontrar os valores anexados. por exemplo: tagKeys/123456789012.

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"
}

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

Como gerenciar o acesso a tags

É possível dar aos usuários acesso específico para gerenciar tags e anexar valores de tag 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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

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

  5. Clique em Gerenciar acesso.

  6. 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. Se quiser enviar uma notificação, clique na caixa de seleção ao lado de Enviar e-mail de notificação.

    4. Clique em Save.

  7. 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.

  8. 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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

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

  5. Clique em Gerenciar acesso.

  6. 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. Se quiser enviar uma notificação, clique na caixa de seleção ao lado de Enviar e-mail de notificação.

    4. Clique em Save.

  7. 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.

  8. 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.

Console

Para anexar uma tag a 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. Clique na organização, na pasta ou no projeto a que você quer anexar uma tag.

  3. No painel de informações exibido, clique na guia Tags.

  4. Clique no botão de opção Anexar tags.

  5. Na caixa Valor da tag, insira o nome do namespace do valor da tag que você quer anexar. Por exemplo, 456789012345/Environment/Production do ID da organização 456789012345, o nome da chave da tag Environment e o valor da tag Production.

  6. Se você quiser anexar mais valores de tag, clique em Adicionar valor da tag e insira o nome com namespace para cada valor de tag.

  7. Clique em Save.

  8. A nova tag é exibida 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 do namespace do valor da tag a ser anexado; por exemplo: tagValues/4567890123.

  • 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 crie uma representação JSON de uma vinculação de tag que inclua os códigos permanentes do valor da tag e do recurso. Para mais informações sobre o formato de uma vinculação de tags, 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,
}

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.

Como listar todas as tags anexadas a um recurso

É possível ver uma lista de todas as tags anexadas a um recurso. Os exemplos a seguir fornecem uma lista de vinculações de tags anexadas diretamente ao recurso, mas não retornarão nenhuma tag herdada dos recursos pai.

Console

Para ver todas as tags anexadas a 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.

gcloud

Para ver uma lista de vinculações de tags anexadas a um recurso, use o comando gcloud resource-manager tags bindings list:

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

API

Para ver uma lista de vinculações de tag 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 listar tags eficazes em um recurso

Se você quiser ver as vinculações de tags diretamente anexadas ao recurso, bem como qualquer vinculação de tag herdada, use a CLI gcloud ou a API.

gcloud

Para ver uma lista de vinculações de tags anexadas ou herdadas por um recurso, use o comando gcloud alpha resource-manager tags bindings list com a sinalização --effective:

gcloud alpha resource-manager tags bindings list --effective \
    --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:

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 omitido.

API

Para ver uma lista de vinculações de tags anexadas ou herdadas por um recurso global, como uma organização, use o método effectivetags.list, especificando o recurso pai na consulta:

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

{
    "parent": "RESOURCE_ID"
}

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

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

{
    "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:

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 omitido.

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 remover uma tag de 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. Clique na organização, na pasta ou no projeto de que você quer remover uma tag.

  3. No painel de informações exibido, clique na guia Tags.

  4. Clique no botão de opção Remover tags.

  5. Clique na caixa de seleção ao lado do caminho da tag que você quer remover.

  6. Clique em Save.

  7. Você encontra a lista atualizada de tags anexadas 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.

Proteção de valores de tag com retenções de tag

Ela é um recurso que pode ser criado para evitar que um valor de tag seja excluído. Se o valor de uma tag tiver uma retenção de tag, ele não poderá ser excluído pelos usuários, a menos que a retenção de tag seja excluída pela primeira vez.

Criar guardas 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 tags, use o comando gcloud alpha resource-manager tags holds create da CLI do gcloud:

  gcloud alpha 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 para o qual 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á necessário especificar o local. Por exemplo: us-central1.

API

Para criar uma retenção de tag para um valor de tag, primeiro você precisa criar uma representação JSON de uma retenção de tag. Essa referência JSON precisa incluir uma referência ao recurso ao qual o valor da tag está anexado. Para mais informações sobre o formato de uma retenção de tag, consulte a referência 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. Este campo precisa incluir informações compreensíveis para o ser humano para distinguir origens entre si. Precisa ter menos de 200 caracteres.

Fichas da empresa com tags

Você pode listar todas as retenções de tag em um valor de tag específico usando a CLI gcloud ou a API.

gcloud

Para listar guardas de documentos abaixo de um valor de tag, use o comando gcloud alpha resource-manager tags holds list da CLI gcloud:

  gcloud alpha 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, será necessário especificar o local. Por exemplo: us-central1.

API

Para ver uma lista de retenções de tag com um valor de tag, use o método GET tagHolds, especificando o valor da tag pai 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.

Remover retenções de tag

É possível remover as retenções de tag 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 esse recurso, o recurso criará uma retenção de tag que impedirá que os usuários excluam o valor de tag anexado.

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

gcloud

Para excluir uma guarda de documentos, use o comando gcloud alpha resource-manager tags holds delete da CLI do gcloud:

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

Em que:

  • TAGHOLD_NAME é o nome de namespace da retenção de 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 esteja abaixo de 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 de 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 de namespace da retenção de tag que você quer excluir. Para encontrá-lo, use 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 uma retenção de tags manualmente, talvez seja necessário remover as retenções de tag e também as vinculações de tag antes de excluir os valores da tag. Para ver informações sobre como remover retenções de tag, consulte Como remover retenções de tag.

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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

  4. 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.

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

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

  7. 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

Em que TAGVALUE_NAME é o ID permanente ou o nome do 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}

em que 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. Selecione o Seletor de projetos na parte superior da página.

  3. No seletor de organização, selecione sua organização.

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

  5. Clique em Excluir tags.

  6. 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

Em que TAGKEYS_NAME é o ID permanente ou o nome do 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}

em que 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

Você pode usar tags e condições do Identity and Access Management para conceder papéis condicionalmente aos usuários na hierarquia. Esse processo deixa os recursos inacessíveis para os 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 de tags. 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.

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 de CLI gcloud solicitará que você escolha uma das expressões de condições 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.