Use tags para agrupar repositórios e outros recursos no Google Cloud para relatórios, auditorias e controle de acesso na sua Google Cloud organização.
Agrupar repositórios no Artifact Registry para automação e faturamento para fins específicos, use rótulos. Tags e rótulos funcionam de forma independente, e é possível aplicar os dois no mesmo repositório. Para Para mais informações sobre as diferenças entre tags e rótulos, consulte Tags e rótulos.
O que são tags?
Tags são pares de chave-valor que podem ser aplicadas aos recursos para controle de acesso detalhado.
Os administradores de projetos criam tags para recursos no Google Cloud no nível da organização e as gerenciam no Resource Manager. Quando você anexar uma tag a um repositório do Artifact Registry, ela pode ser usada Condições do IAM para conceder acesso condicional ao repositório. Não é possível anexar tags a artefatos individuais.
Lembre-se destas restrições:
As políticas da organização podem referenciar condicionalmente as tags herdadas do projeto pai e superiores, mas não são compatíveis com tags anexadas diretamente aos repositórios.
os Registros de auditoria do Cloud não são gerados para anexar tags; visualizar vinculações de tags em repositórios.
Para mais informações sobre tags e controle de acesso condicional com tags, consulte Tags e controle de acesso.
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 anexar tags a repositórios
Depois que um administrador do projeto cria tags, é possível anexar tags a elas. um repositório. Cada tag tem uma chave e um valor. Você marca um repositório vinculando uma para o repositório.
Para anexar uma tag a um repositório:
Console
Consiga o valor da tag que será anexado ao administrador.
Você pode anexar um valor de tag com um destes tipos de identificadores:
- Um nome com namespace, como
123456789012/env/dev
- Um documento de identificação permanente, como
tagValues/567890123456
- Um nome com namespace, como
Abra a página Repositórios no console do Google Cloud.
Selecione o repositório que você quer marcar.
Na seção Detalhes do repositório, clique em Mostrar mais.
As tags existentes do repositório, incluindo as herdadas, são exibidas.
Clique no ícone Editar tags.
Na seção Tags diretas, clique em Selecionar escopo.
Selecione seu projeto de repositório.
No campo chave, digite para filtrar a lista de tags e selecione uma delas de dados.
No campo Valor, digite para filtrar a lista de tags e selecione uma delas .
Clique em Salvar.
Clique em Confirmar.
A tag está anexada ao seu repositório.
CLI da gcloud
Peça o valor da tag a ser anexada ao administrador.
Você pode anexar um valor de tag com um destes tipos de identificadores:
- Um nome com namespace, como
123456789012/env/dev
- Um documento de identificação permanente, como
tagValues/567890123456
- Um nome com namespace, como
Anexe o valor da tag com o seguinte comando:
gcloud alpha resource-manager tags bindings create \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Substitua os seguintes valores:
TAG_VALUE
é o ID permanente; ou nome com namespace do valor da tag a ser anexada.REPOSITORY_ID
é o ID completo do repositório. incluindo o nome de domínio da API, para identificar o tipo de recurso (//artifactregistry.googleapis.com/
). Por exemplo://artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo
LOCATION
é o local do repositório de dados.
Veja o exemplo a seguir.
- Valor da tag:
815471563813/env/dev
- Projeto:
my-project
- Repositório:
my-repo
- Local do repositório:
us-east1
O comando da CLI gcloud a seguir anexa a tag ao repositório:
gcloud alpha resource-manager tags bindings create \ --tag-value=815471563813/env/dev \ --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \ --location=us-east1
Listagem de tags anexadas aos repositórios
É possível listar as tags anexadas a um recurso para o qual você tem permissões acesso.
Console
Abra a página Repositórios no console do Google Cloud.
Selecione o repositório que você quer visualizar.
Na seção Detalhes do repositório, clique em Mostrar mais.
A lista Tags mostra todas as tags do repositório, incluindo as tags diretas e as tags herdadas de níveis superiores na hierarquia de recursos.
CLI da gcloud
Para listar as tags anexadas a um repositório, execute o seguinte comando:
gcloud alpha resource-manager tags bindings list \
--parent=REPOSITORY_ID \
--location=LOCATION
O comando lista apenas as tags anexadas diretamente ao recurso especificado. Portanto,
ela não retorna tags herdadas do projeto pai ou superior. Você pode listar
tags herdadas do projeto principal especificando um projeto em vez de uma
repositório com a sinalização --parent
.
Por exemplo, este comando lista as tags anexadas ao repositório my-repo
em
o projeto my-project
e o local us-east1
:
gcloud alpha resource-manager tags bindings list \
--parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \
--location=us-east1
Este comando lista as tags anexadas ao número do projeto 7890123456
:
gcloud alpha resource-manager tags bindings list \
--parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \
Como remover tags de repositórios
Você pode desanexar uma tag que está diretamente anexada a um repositório. Se você precisar remover uma tag que é herdada do projeto pai ou de outra parte do hierarquia de recursos, um administrador de projeto deve desanexá-la da no recurso em que a tag está anexada.
Para remover uma tag anexada a um repositório:
Console
Encontre o valor da tag que você quer remover. Se você não souber o valor da tag, list anexadas ao repositório.
Abra a página Repositórios no console do Google Cloud.
Selecione o repositório.
Na seção Detalhes do repositório, clique em Mostrar mais.
As tags existentes do repositório, incluindo as herdadas, são exibidas.
Clique no ícone Editar tags.
Na seção Tags diretas, localize a tag que você quer remover.
Clique no ícone
excluir ao lado da tag que você quer remover.Clique em Salvar.
Clique em Confirmar.
A tag será removida do repositório.
CLI da gcloud
Encontre o valor da tag que você quer remover. Se você não souber o valor da tag, list anexadas ao repositório.
Remova o valor da tag com o seguinte comando:
gcloud alpha resource-manager tags bindings delete \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Substitua os seguintes valores:
Valor de tag
TAG_VALUE
a ser removido.REPOSITORY_ID
é o ID completo do repositório. incluindo o nome de domínio da API, para identificar o tipo de recurso (//artifactregistry.googleapis.com/
). Por exemplo://artifactregistry.googleapis.com/projects/my-project/my-repo
LOCATION
é o local do repositório de dados.
Veja o exemplo a seguir.
- Valor da tag:
815471563813/env/dev
- Projeto:
my-project
- Repositório:
my-repo
- Local do repositório:
us-east1
O comando a seguir da CLI gcloud remove a tag do repositório:
gcloud alpha resource-manager tags bindings delete \ --tag-value=815471563813/env/dev \ --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \ --location=us-east1
A seguir
- Saiba mais sobre rótulos de repositório.