Neste guia, descrevemos como criar e gerenciar tags para recursos de contas de serviço.
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
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,
no valor da tag e nos 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
Para receber as permissões necessárias para anexar tags a contas de serviço,
peça ao administrador para conceder a você o
papel do IAM de Administrador da conta de serviço (roles/iam.ServiceAccountAdmin
) na conta de serviço.
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.
Anexar uma tag a uma conta de serviço
Depois que a tag for criada, será preciso anexá-la a uma conta de serviço.
gcloud
Para anexar uma tag a uma conta de serviço, crie 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
Substitua:
TAGVALUE_NAME
é o ID permanente ou o nome do namespace do valor da tag anexado; por exemplo:tagValues/567890123456
.-
RESOURCE_ID
: o ID ou e-mail exclusivo da conta de serviço, incluindo o nome de domínio da API (//iam.googleapis.com/
). Por exemplo, o ID completo de uma conta de serviço com o ID exclusivo1029384756
no projetotest-project
é//iam.googleapis.com/projects/test-project/serviceAccounts/1029384756
.
Listar tags anexadas a uma conta de serviço
É possível conferir uma lista de vinculações de tags anexadas diretamente ou herdadas pela conta de serviço.
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 ID ou e-mail exclusivo da conta de serviço, incluindo o nome de domínio da API (//iam.googleapis.com/
). Por exemplo, o ID completo de uma conta de serviço com o ID exclusivo1029384756
no projetotest-project
é//iam.googleapis.com/projects/test-project/serviceAccounts/1029384756
.
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/test-project/serviceAccounts/1029384756
Remover tags de uma conta de serviço
É possível desanexar tags que foram anexadas diretamente a uma conta de serviço. As tags herdadas podem ser substituídas anexando uma tag com a mesma chave e um valor diferente, mas não podem ser removidas. Para excluir uma tag, remova a chave e os valores dela de todos os recursos a que ela está anexada.
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 ID ou e-mail exclusivo da conta de serviço, incluindo o nome de domínio da API (//iam.googleapis.com/
). Por exemplo, o ID completo de uma conta de serviço com o ID exclusivo1029384756
no projetotest-project
é//iam.googleapis.com/projects/test-project/serviceAccounts/1029384756
.
Excluir chaves e valores de tags
Ao remover uma chave ou definição de valor de tag, verifique se ela está separada da conta de serviço. 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
- Veja os outros serviços que têm suporte a tags.
- Consulte Tags e controle de acesso para ver como usar tags com o IAM.