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. Você pode usar tags para permitir ou negar condicionalmente as políticas com base no fato de um recurso compatível ter 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, comocompute.instances.createTagBinding
para instâncias do Compute Engine - Permissão
deleteTagBinding
específica do recurso, comocompute.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 na sua
hierarquia do Google Cloud. Para criar uma tag, 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
da hierarquia 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 mil chaves em uma determinada organização ou projeto, e pode haver um total de mil 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 256 caracteres. O
o conjunto de caracteres permitidos para shortName
inclui Unicode codificado em UTF-8
caracteres exceto aspas simples ('
) e aspas duplas
("
), barras invertidas (\
) e barras
(/
).
Depois de criar a shortName
, ela não pode ser alterada e precisa ser
exclusivos no mesmo namespace.
Console
Para criar uma chave de tag, faça o seguinte:
Abra a página Tags no console do Google Cloud.
No Seletor de escopo na parte superior da página, selecione o organização ou projeto em que você quer criar uma chave de tag.
Clique em
Criar.Na caixa Chave de tag, insira o nome de exibição da chave. Isso se torna parte do nome de namespace da tag.
Na caixa Descrição da chave da tag, insira uma descrição.
Se você quiser adicionar valores da tag a essa chave, clique em
Adicionar valor para cada valor de tag que quiser criar.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.
Na caixa Descrição do valor da tag, insira uma descrição.
Quando terminar de adicionar valores, clique em Criar chave de tag.
gcloud
Para criar uma chave de tag, use gcloud resource-manager tags keys create
.
comando:
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 ou do recurso do projeto pai dessa chave de tag. Por exemplo:organizations/123456789012
,projects/test-project123
ouprojects/234567890123
. Para saber como conseguir o ID da sua 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
Terraform
Use o
recurso
google_tags_tag_key
.
Antes de criar chaves de tag usando o Terraform, ative API Cloud Resource Manager.
O exemplo a seguir cria chaves de tag chamadas env
e department
:
Para aplicar a configuração do Terraform em um projeto do Google Cloud, conclua as etapas nas seções a seguir.
Preparar o Cloud Shell
- Inicie o Cloud Shell.
-
Defina o projeto padrão do Google Cloud em que você quer aplicar as configurações do Terraform.
Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração do Terraform.
Preparar o diretório
Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também chamado de módulo raiz.
-
No Cloud Shell, crie um diretório e um novo
arquivo dentro dele. O nome do arquivo precisa ter a extensão
.tf
, por exemplo,main.tf
. Neste tutorial, o arquivo é chamado demain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.
Copie o exemplo de código no
main.tf
recém-criado.Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.
- Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
- Salve as alterações.
-
Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
terraform init
Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção
-upgrade
:terraform init -upgrade
Aplique as alterações
-
Revise a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expectativas:
terraform plan
Faça as correções necessárias na configuração.
-
Para aplicar a configuração do Terraform, execute o comando a seguir e digite
yes
no prompt:terraform apply
Aguarde até que o Terraform exiba a mensagem "Apply complete!".
- Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU para verificar se foram criados ou atualizados pelo Terraform.
API
Para gerar uma chave de tag, crie uma representação JSON dela. 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 de projeto para essa chave de tag. Por exemplo:organizations/123456789012
,projects/test-project123
ouprojects/234567890123
. Para saber como conseguir o ID da sua 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, é possível encontrar o nome de exibição legível exclusivo
chamado namespacedName
, que tem namespace no recurso
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:
Abra a página Tags no console do Google Cloud.
No Seletor de escopo, na parte de cima da página, selecione a organização ou o projeto que contém a tag.
Todas as tags da organização ou do projeto selecionado aparecem na lista. Clique na tag com a chave 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
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
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ê deseja exibir informações; Por exemplo:
tagKeys/123456789012
.
Para mostrar as informações relacionadas a uma determinada chave de tag usando o nome de 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 da 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 sua tag precisa atender aos seguintes requisitos:
Um
shortName
pode ter um comprimento máximo de 256 caracteres.O
shortName
precisa começar com um caractere alfanumérico.Um
shortName
pode conter caracteres Unicode codificados em UTF-8, exceto valores únicos aspas ('
), aspas duplas ("
), barras invertidas (\
) e barras (/
).Um
shortName
não pode ser mudado depois de criado e precisa ser exclusivo no mesmo namespace.
Console
Para criar um valor de tag, faça o seguinte:
Abra a página Tags no console do Google Cloud.
No Seletor de escopo na parte superior da página, selecione o organização ou projeto em que você quer criar um valor de tag.
Na lista de tags, clique na tag à qual você quer adicionar um novo valor.
Clique em
Adicionar valor.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.
Na caixa Descrição do valor da tag, insira uma descrição.
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
Terraform
Use o
recurso
google_tags_tag_value
.
Antes de criar valores de tag usando o Terraform, ative API Cloud Resource Manager.
O exemplo a seguir cria valores de tag chamados prod
e sales
:
Para aplicar a configuração do Terraform em um projeto do Google Cloud, conclua as etapas nas seções a seguir.
Preparar o Cloud Shell
- Inicie o Cloud Shell.
-
Defina o projeto padrão do Google Cloud em que você quer aplicar as configurações do Terraform.
Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração do Terraform.
Preparar o diretório
Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também chamado de módulo raiz.
-
No Cloud Shell, crie um diretório e um novo
arquivo dentro dele. O nome do arquivo precisa ter a extensão
.tf
, por exemplo,main.tf
. Neste tutorial, o arquivo é chamado demain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.
Copie o exemplo de código no
main.tf
recém-criado.Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.
- Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
- Salve as alterações.
-
Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
terraform init
Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção
-upgrade
:terraform init -upgrade
Aplique as alterações
-
Revise a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expectativas:
terraform plan
Faça as correções necessárias na configuração.
-
Para aplicar a configuração do Terraform, execute o comando a seguir e digite
yes
no prompt:terraform apply
Aguarde até que o Terraform exiba a mensagem "Apply complete!".
- Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU para verificar se foram criados ou atualizados pelo Terraform.
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 chamadonamespacedName
, que tem namespace no recurso pai, e um ID permanente globalmente exclusivo chamadoname
.
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:
Abra a página Tags no console do Google Cloud.
No Seletor de escopo na parte superior da página, selecione o organização ou projeto que contém a tag.
Todas as tags que você criou nesta organização ou projeto aparecem em da lista. Clique na tag com os valores que 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 do 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 da tag.
value; por exemplo: tagValues/4567890123
.
Para exibir as informações relacionadas a um determinado valor de tag usando namespace nome, use o Método tagValues.getNamespaced:
GET https://cloudresourcemanager.googleapis.com/v3/tagValues/namespaced?name={TAGVALUE_NAMESPACED_NAME}
TAGVALUE_NAMESPACED_NAME
é o nome do namespace do valor da tag e tem o formato parentNamespace/tagKeyShortName/tagValueShortName
.
Ao fazer referência a tags usando a CLI do Google Cloud, é possível usar o
nome do namespace ou o ID permanente para chaves e valores de tags. As chamadas para a API,
exceto getNamespaced
, só devem usar 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:
Abra a página Tags no console do Google Cloud.
No Seletor de escopo na parte superior da página, escolha a organização. ou projeto que contém a chave de tag.
Clique em
Ações ao lado da chave de tag que você quer atualizar e clique em Visualizar detalhes.Clique em
Editar ao lado de Descrição, na parte superior da tela.Atualize a descrição da chave de tag.
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:
Abra a página Tags no console do Google Cloud.
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.
Clique em
Ações ao lado da chave de tag do valor que você quer atualizar e, em seguida, clique em Visualizar detalhes.Clique em
Ações ao lado do valor da tag que você quer atualizar e, em seguida, clique em Visualizar detalhes.Clique em
Editar ao lado de Descrição, na parte superior da tela.Atualize a descrição do valor da tag.
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 tag associadas a uma organização ou um projeto específico recurso usando o console do Google Cloud, a CLI gcloud ou chamada para a API.
Console
Para visualizar todas as tags:
Abra a página Tags no console do Google Cloud.
No Seletor de escopo, na parte de cima da página, selecione a organização ou o projeto que contém suas tags.
Todas as tags que você criou nessa organização ou projeto aparecem na lista.
gcloud
Para retornar uma lista de todas as chaves de tag criadas em uma organização ou 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 de projeto para o qual você quer encontrar as chaves de tag anexadas.
- Um ID da organização ou do projeto precisa ser fornecido no formato
organizations/ORGANIZATION_ID
ouprojects/PROJECT_NAME
. Por exemplo:organizations/123456789012
eprojects/test-project123
. Para saber como conseguir o ID da sua 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 da organização ou do recurso de projeto para o qual 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 método 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:
Abra a página Tags no console do Google Cloud.
No Seletor de escopo na parte superior da página, selecione o organização ou projeto que contém a chave de tag.
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.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 com namespace.
Nome da chave de tag para a qual 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 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:
Abra a página Tags no console do Google Cloud.
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.
Clique na caixa de seleção ao lado da tag com o acesso que você quer gerenciar.
Clique em
Gerenciar acesso.Para adicionar um papel a um principal, clique em
Adicionar principal.Na caixa de texto Novos principais, insira o endereço de e-mail do principal que você quer conceder um novo papel.
Escolha um papel no menu suspenso Selecionar um papel. Se quiser adicionar mais de um papel, clique em
Adicionar outro papel.Clique em Salvar.
Para editar o papel de um principal, clique em
Editar ao lado do principal que você quer editar.Para alterar os papéis atribuídos aos principais dessa tag, clique no menu suspenso Papel e escolha um novo papel.
Se quiser adicionar mais papéis, clique em
Adicionar outro papel.Para excluir um papel desse principal na tag, clique em
Excluir papel ao lado do papel que você quer excluir.Clique em Save.
Para excluir o papel de um principal, clique em
Excluir papel ao lado do papel que você quer excluir.- Clique em Remover.
Valores da tag
Para gerenciar o acesso de usuários em um valor de tag, faça o seguinte:
Abra a página Tags no console do Google Cloud.
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 para a qual você quer gerenciar o acesso.
Clique em
Ações ao lado da chave de tag do valor cujo acesso você quer gerenciar e, em seguida, clique em Visualizar detalhes.Clique em
Gerenciar acesso.Para adicionar um papel a um principal, clique em
Adicionar principal.Na caixa de texto Novos principais, insira o endereço de e-mail do principal que você quer conceder um novo papel.
Escolha um papel no menu suspenso Selecionar um papel. Se quiser adicionar mais de um papel, clique em
Adicionar outro papel.Clique em Salvar.
Para editar o papel de um principal, clique em
Editar ao lado do principal que você quer editar.Para alterar os papéis atribuídos aos principais dessa tag, clique no menu suspenso Papel e escolha um novo papel.
Se quiser adicionar mais papéis, clique em
Adicionar outro papel.Para excluir um papel desse principal na tag, clique em
Excluir papel ao lado do papel que você quer excluir.Clique em Save.
Para excluir o papel de um principal, clique em
Excluir papel ao lado do papel que você quer excluir.- 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 uma organização, pasta ou recurso do projeto. Para mais detalhes sobre como anexar tags a outro tipo de recurso, consulte a documentação recurso em Serviços compatíveis com tags.
Console
Para anexar uma tag a uma organização, pasta ou recurso do projeto, faça o seguintes:
Abra a página Gerenciar recursos no console do Google Cloud.
Clique na organização, na pasta ou no projeto que você quer anexar. uma tag.
Clique em
Tags.No painel Tags, clique em Selecionar escopo.
Selecione a organização ou o projeto que contém suas tags e clique em Abrir.
No painel Tags, selecione Adicionar tag.
No campo Chave, selecione a chave da tag que você quer anexar na lista. Para filtrar a lista, digite palavras-chave.
No campo Valor, selecione na lista o valor da tag que você quer anexar. Para filtrar a lista, digite palavras-chave.
Se você quiser anexar mais tags, clique em
Adicionar tag e selecione a chave e o valor de cada uma.Clique em Salvar.
Na caixa de diálogo Confirmar, clique em Confirmar para anexar a tag.
Uma notificação confirma que suas tags estão atualizadas. As novas tags aparecem em 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 nome com namespace do valor da tag a ser anexado; Por exemplo:tagValues/4567890123
ou12345678/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 aprojects/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 inclui o ID permanente ou o nome com namespace do e o ID permanente do recurso. Para mais informações sobre o formato de uma vinculação de tags, consulte 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
Corpo JSON da solicitação:
{ "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/
). Para exemplo, para anexar uma tag aprojects/7890123456
, o ID completo será://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
É possível conseguir uma lista de todas as tags anexadas a um recurso, para tags que são herdadas ou anexadas diretamente.
Console
Para ver todas as tags anexadas ou herdadas por um recurso, faça o seguintes:
Abra a página Gerenciar recursos no console do Google Cloud.
Encontre sua organização, pasta ou projeto na lista de recursos.
As tags anexadas ao recurso aparecem na coluna Tags. Tags herdadas serão marcadas como
Herdado.
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ê deve
vai 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 anexadas diretamente 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 remover uma tag de um recurso de organização, pasta ou projeto, faça o seguinte:
Abra a página Gerenciar recursos no console do Google Cloud.
Clique na organização, na pasta ou no projeto de que você quer remover uma tag.
Clique em
Tags.No painel Tags, ao lado da tag que você quer remover, clique em
Excluir item.Clique em Salvar.
Na caixa de diálogo Confirmar, clique em Confirmar para remover a tag.
Uma notificação confirma que suas tags foram 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
.
Como proteger os valores de tag com retenções de tag
Uma retenção de tag é um recurso que pode ser criado para impedir que um valor de tag seja excluída. Se um valor de tag tiver uma retenção, ele não poderá ser excluído pelos usuários, a menos que a retenção seja excluída primeiro.
Como criar retenções de tag
É possível criar uma retenção de tag manualmente usando a CLI gcloud ou a API.
gcloud
Para criar uma retenção de tag, use o
gcloud resource-manager tags holds create
Comando 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 do namespace do valor da tag para que esse hold de tag precisa ser criado. Por exemplo:tagValues/567890123456
.HOLDER_NAME
é o nome do recurso em 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 flag. Se você estiver criando uma retenção de tag para um recurso regional ou zonal, especifique o local. Por exemplo:us-central1
.
API
Para criar uma retenção de tag para um valor de tag, primeiro você precisa criar um JSON
de uma tag de retenção. 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 do endpoint global:
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, como uma instância do Compute Engine, use o
Método tagHolds.create
pelo endpoint regional em que o recurso está
localizado.
POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/TAGVALUE_NAME/tagHolds
Corpo JSON da solicitação:
{ "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 em que o valor da tag está anexado. Precisa ter menos de 200 caracteres.ORIGIN_NAME
é uma string opcional que representa o origem dessa solicitação. Este campo deve incluir informações informações para distinguir as origens umas das outras. Precisa ter menos de 200 caracteres.
Retenção de tags de listagem
Você pode listar todas as retenções de tag em um valor de tag específico usando o método CLI gcloud ou a API.
gcloud
Para listar as retenções de tags que estão em 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 com namespace. Nome 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, precisa especificar o local. Por exemplo:us-central1
.
API
Para conferir uma lista de retenções de tag 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 do namespace do valor da tag. Por exemplo:tagValues/567890123456
.
Como remover retenções de tag
Você pode remover retenções de tag criadas em um valor de tag específico usando o 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, ele vai criar uma retenção de tag que vai impedir que os usuários excluam o valor da tag anexada.
É possível 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 gcloud CLI:
gcloud resource-manager tags holds delete TAGHOLD_NAME \ --location=LOCATION
Em que:
TAGHOLD_NAME
é o nome com namespace da tag. espera, que pode ser encontrada usando o comandolist
. Por exemplo:tagValues/1012910994523/tagHolds/d1c8f5e2-2954-43d6-8f46-5f812ab48c37
.LOCATION
é o local do recurso; Se você estão excluindo uma retenção de tag que está abaixo de um valor de tag anexado a um como uma pasta ou projeto, omita essa sinalização. Se você estiver excluindo uma retenção de tag criada em um processo regional ou zonal, especifique 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 ao qual o hold da tag que você quer excluir está anexado. Por exemplo:tagValues/567890123456
.TAGHOLD_NAME
é o nome com namespace da tag. guarda de documentos que deseja excluir, que pode ser encontrada na comandolist
. 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 um usuário tiver criado manualmente uma tag segurar, talvez seja necessário remover as retenções de tag, bem como excluir as vinculações de tag antes é possível 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:
Abra a página Tags no console do Google Cloud.
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.
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.Na lista de valores da tag associados a essa chave, clique no valor que você quer excluir.
Clique na caixa de seleção ao lado do valor da tag que você quer excluir e clique em
Excluir valores.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 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}
TAGVALUE_NAME
é o ID permanente 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:
Abra a página Tags no console do Google Cloud.
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.
Clique na caixa de seleção ao lado da chave de tag que você quer excluir.
Clique em
Excluir tags.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 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}
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
É possível usar 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.
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 valores0001
,0002
e assim por diante, para associar os recursos aos vários centros de custo em sua empresa.Crie um papel personalizado no nível da organização que permita aos usuários adicionar tags aos recursos que exigem tags. Isso concede essas permissões aos principais especificados em qualquer lugar da sua 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
Ao criar projetos para os desenvolvedores, atribua a eles esse papel personalizado no projeto.
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
Você pode usar tags e aplicação condicional de políticas da organização para fornecer controle centralizado dos recursos na hierarquia. Para mais informações, consulte Como definir uma política da organização com tags.
Serviços com suporte
Para uma lista de serviços que aceitam tags, consulte Serviços que aceitam 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 contém o papel condicional
para esse papel, a ferramenta CLI gcloud solicitará que você escolha uma
das expressões condicionais 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.