Como criar e gerenciar tags para funções personalizadas

Este guia descreve como criar e gerenciar tags para papéis personalizados.

Sobre as tags

Uma tag é um par de chave-valor que pode ser anexado a um recurso no Google Cloud. É possível usar tags para permitir ou negar políticas condicionalmente com base no fato de um recurso ter uma tag específica ou não. Por exemplo, é possível conceder condicionalmente papéis do Identity and Access Management (IAM) com base no fato de um recurso ter uma tag específica ou não. Para mais informações sobre tags, consulte Visão geral de tags.

As tags são anexadas aos recursos criando um recurso de vinculação de tags que vincula o valor ao recurso do Google Cloud .

Permissões necessárias

Para receber as permissões necessárias para gerenciar tags, peça ao administrador que conceda a você os seguintes papéis do IAM:

  • Leitor de tags (roles/resourcemanager.tagViewer) nos recursos a que as tags estão anexadas
  • Visualizar e gerenciar tags no nível da organização: Leitor da organização (roles/resourcemanager.organizationViewer) na organização
  • Criar, atualizar e excluir definições de tags: Administrador de tags (roles/resourcemanager.tagAdmin) no recurso em que você está criando, atualizando ou excluindo tags
  • Anexar e remover tags de recursos: Usuário de tag (roles/resourcemanager.tagUser) no valor da tag e nos recursos a que você está anexando ou removendo o valor da tag

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Para receber as permissões necessárias para anexar tags a papéis personalizados, peça ao administrador para conceder a você o papel do IAM de Administrador de papéis (roles/iam.roleAdmin) no projeto ou na organização em que os papéis estão localizados. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Criar chaves e valores de tags

Antes de anexar uma tag, é preciso criá-la e configurar o valor dela. Para criar chaves e valores de tag, consulte Como criar uma tag e Como adicionar um valor de tag.

Adicionar tags a recursos atuais

Para adicionar uma tag a funções personalizadas atuais, siga estas etapas:

gcloud

Para anexar uma tag a uma função personalizada, crie um recurso de vinculação de tag usando o comando gcloud resource-manager tags bindings create:

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

Substitua:

  • TAGVALUE_NAME é o ID permanente ou o nome do namespace do valor da tag anexado; por exemplo: tagValues/567890123456.
  • RESOURCE_ID: o nome completo da função, incluindo o prefixo projects ou organizations e o nome de domínio da API (//iam.googleapis.com/). Por exemplo, o ID do recurso de uma função personalizada no nível do projeto example-role no projeto example-project é //iam.googleapis.com/projects/example-project/roles/example-role.

Listar tags anexadas a recursos

É possível consultar uma lista de vinculações de tags anexadas diretamente ou herdadas pela função personalizada.

gcloud

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

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

Substitua:

  • RESOURCE_ID: o nome completo da função, incluindo o prefixo projects ou organizations e o nome de domínio da API (//iam.googleapis.com/). Por exemplo, o ID do recurso de uma função personalizada no nível do projeto example-role no projeto example-project é //iam.googleapis.com/projects/example-project/roles/example-role.

Você receberá uma resposta semelhante a esta:

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //iam.googleapis.com/projects/example-project/roles/example-role
      

Remover tags de recursos

É possível desanexar tags que foram anexadas diretamente a uma função personalizada. As tags herdadas podem ser substituídas anexando uma tag com a mesma chave e um valor diferente, mas não podem ser removidas.

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
      

Substitua:

  • TAGVALUE_NAME é o ID permanente ou o nome do namespace do valor da tag anexado; por exemplo: tagValues/567890123456.
  • RESOURCE_ID: o nome completo da função, incluindo o prefixo projects ou organizations e o nome de domínio da API (//iam.googleapis.com/). Por exemplo, o ID do recurso de uma função personalizada no nível do projeto example-role no projeto example-project é //iam.googleapis.com/projects/example-project/roles/example-role.

Excluir chaves e valores de tags

Ao remover uma chave ou definição de valor de tag, verifique se ela está separada da função personalizada. Você precisa excluir os anexos de tag, chamados de vinculações de tag, antes de excluir a definição da tag. Para excluir chaves e valores de tags, consulte Como excluir tags.

Condições e tags do Identity and Access Management

Você pode usar tags e condições do IAM para conceder vinculações de papéis condicionalmente aos usuários na sua hierarquia. Alterar ou excluir a tag anexada a um recurso removerá o acesso do usuário a esse recurso se uma política do IAM com vinculações de papéis condicionais tiver sido aplicada. Para mais informações, consulte Condições e tags do Identity and Access Management.

A seguir