Como criar e gerenciar tags

Este guia descreve como criar e gerenciar tags. Uma tag é um par de chave-valor que pode ser anexado a um recurso do Google Cloud. 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, 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 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:

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

    Abrir a página "Tags"

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

  3. Clique em Criar.

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

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

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

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

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

  9. Quando terminar de adicionar valores, 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 ou projects/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:

data "google_project" "default" {}

resource "google_tags_tag_key" "env_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "env"
}

resource "google_tags_tag_key" "department_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "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

  1. Inicie o Cloud Shell.
  2. 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.

  1. 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 de main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 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.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve as alterações.
  5. 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

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

  2. 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!".

  3. 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 ou projects/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:

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

    Abrir a página "Tags"

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

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

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

    Abrir a página "Tags"

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

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

  4. Clique em Adicionar valor.

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

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

  7. Clique em Save.

gcloud

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

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

Em que:

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

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

Você receberá uma resposta semelhante a esta:

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

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:

data "google_project" "default" {}

resource "google_tags_tag_key" "env_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "env1"
}

resource "google_tags_tag_key" "department_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "department1"
}

resource "google_tags_tag_value" "env_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.env_tag_key.name}"
  short_name = "prod"
}

resource "google_tags_tag_value" "department_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.department_tag_key.name}"
  short_name = "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

  1. Inicie o Cloud Shell.
  2. 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.

  1. 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 de main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 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.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve as alterações.
  5. 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

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

  2. 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!".

  3. 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 chamado namespacedName, que tem namespace no recurso 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. No Seletor de escopo na parte superior da página, selecione o organização ou projeto que contém a tag.

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

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

    Abrir a página "Tags"

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

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

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

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

  6. Clique em Save.

gcloud

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

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

Em que:

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

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

Você receberá uma resposta semelhante a esta:

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

API

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

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

Solicitar corpo JSON:

{
    "description": DESCRIPTION,
}

Em que:

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

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

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

Console

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

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

    Abrir a página "Tags"

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

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

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

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

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

  7. Clique em Save.

gcloud

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

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

Em que:

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

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

Você receberá uma resposta semelhante a esta:

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

API

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

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

Solicitar corpo JSON:

{
    "description": DESCRIPTION,
}

Em que:

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

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

Como listar chaves de tags

É possível listar todas as chaves de 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:

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

    Abrir a página "Tags"

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

  3. 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 ou projects/PROJECT_NAME. Por exemplo: organizations/123456789012 e projects/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:

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

    Abrir a página "Tags"

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

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

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

gcloud

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

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

TAGKEY_NAME é o ID permanente ou 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:

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

    Abrir a página "Tags"

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

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

  4. Clique em Gerenciar acesso.

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

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

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

    3. Clique em Salvar.

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

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

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

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

    4. Clique em Save.

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

    1. Clique em Remover.

Valores da tag

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

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

    Abrir a página "Tags"

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

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

  4. Clique em Gerenciar acesso.

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

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

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

    3. Clique em Salvar.

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

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

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

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

    4. Clique em Save.

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

    1. Clique em Remover.

Como anexar tags aos recursos

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

As tags são anexadas aos recursos criando um recurso de vinculação de tags que vincula o valor ao recurso do Google Cloud. O fluxo de trabalho a seguir descreve como anexar uma tag a 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:

  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 que você quer anexar. uma tag.

  3. Clique em Tags.

  4. No painel Tags, clique em Selecionar escopo.

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

  6. No painel Tags, selecione Adicionar tag.

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

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

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

  10. Clique em Salvar.

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

  12. 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 ou 12345678/environment/production

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

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

API

Para anexar uma tag a um recurso, primeiro é necessário criar uma representação JSON de uma vinculação de tag que 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 a projects/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:

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

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

    Abrir a página "Gerenciar recursos"

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

  3. Clique em Tags.

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

  5. Clique em Salvar.

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

  7. 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 comando list. 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 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 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:

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

    Abrir a página "Tags"

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

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

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

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

  6. Clique em Confirm.

gcloud

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

gcloud resource-manager tags values delete TAGVALUE_NAME

TAGVALUE_NAME é o ID permanente ou o nome 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:

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

    Abrir a página "Tags"

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

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

  4. Clique em Excluir tags.

  5. Clique em Confirm.

gcloud

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

gcloud resource-manager tags keys delete TAGKEYS_NAME

TAGKEYS_NAME é o ID permanente ou o nome 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.

  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 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
  3. Ao criar projetos para os desenvolvedores, atribua a eles esse papel personalizado no projeto.

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

    resource.hasTagKey('123456789012/costCenter')
    

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

Políticas e tags da organização

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.