Use tags para agrupar repositórios e outros recursos no Google Cloud para geração de relatórios, auditoria e controle de acesso na sua organização do Google Cloud.
Para agrupar repositórios no Artifact Registry para fins de automação e faturamento, use rótulos. As tags e os identificadores funcionam de forma independente, e você pode aplicar os dois ao mesmo repositório. 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. Ao anexar uma tag a um repositório do Artifact Registry, é possível usar a tag com 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 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 e visualizar vinculações de tag 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
Para receber as permissões necessárias para gerenciar tags, peça ao administrador para conceder 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 da 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.
Como anexar tags a repositórios
Depois que um administrador do projeto cria tags, é possível anexá-las a um repositório. Cada tag tem uma chave e um valor. Para fazer isso, vincule um valor ao repositório.
Para anexar uma tag a um repositório:
Console
Receba o valor da tag para anexar do seu administrador.
É possível anexar um valor de tag com um destes tipos de identificadores:
- Um nome com namespace, como
123456789012/env/dev - Um ID 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 atuais do repositório, incluindo as herdadas, são mostradas.
Clique no ícone
Editar tags.Na seção Tags diretas, clique em Selecionar escopo.
Selecione o projeto do repositório.
No campo chave, digite para filtrar a lista de tags e selecione a chave da tag.
No campo Valor, digite para filtrar a lista de tags e selecione o valor da tag.
Clique em Salvar.
Clique em Confirmar.
A tag é anexada ao repositório.
CLI da gcloud
Receba o valor da tag para anexar do seu administrador.
É possível anexar um valor de tag com um destes tipos de identificadores:
- Um nome com namespace, como
123456789012/env/dev - Um ID permanente, como
tagValues/567890123456
- Um nome com namespace, como
Anexe o valor da tag com o seguinte comando:
gcloud resource-manager tags bindings create \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATIONSubstitua os seguintes valores:
TAG_VALUEé o ID permanente ou o nome do namespace do valor da tag a ser anexado.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-repoLOCATIONé o local do repositório.
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 seguinte comando da CLI gcloud anexa a tag ao repositório:
gcloud 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
Listar tags anexadas a repositórios
É possível listar as tags anexadas a um recurso que você tem permissão para acessar.
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 tags diretas e herdadas de níveis mais altos na hierarquia de recursos.
CLI da gcloud
Para listar as tags anexadas a um repositório, execute o seguinte comando:
gcloud resource-manager tags bindings list \
--parent=REPOSITORY_ID \
--location=LOCATION
O comando lista apenas as tags anexadas diretamente ao recurso especificado. Portanto, ele não retorna tags herdadas do projeto pai ou de níveis mais altos. É possível listar
tags herdadas do projeto pai especificando um projeto em vez de um
repositório com a flag --parent.
Por exemplo, este comando lista as tags anexadas ao repositório my-repo no
projeto my-project e no local us-east1:
gcloud resource-manager tags bindings list \
--parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \
--location=us-east1
Esse comando lista as tags anexadas ao número do projeto 7890123456:
gcloud resource-manager tags bindings list \
--parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \
Remover tags de repositórios
É possível desanexar uma tag que está diretamente anexada a um repositório. Se for necessário remover uma tag herdada do projeto pai ou de outra parte da hierarquia de recursos, um administrador do projeto precisará desvincular a tag do recurso a que ela está anexada.
Para remover uma tag anexada a um repositório:
Console
Extraia o valor da tag que você quer remover. Se você não souber o valor da tag, liste as tags 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 atuais do repositório, incluindo as herdadas, são mostradas.
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 é removida do seu repositório.
CLI da gcloud
Extraia o valor da tag que você quer remover. Se você não souber o valor da tag, liste as tags anexadas ao repositório.
Desvincule o valor da tag com o seguinte comando:
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATIONSubstitua os seguintes valores:
Valor da tag
TAG_VALUEa ser desvinculado.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-repoLOCATIONé o local do repositório.
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 seguinte comando da CLI gcloud separa a tag do repositório:
gcloud 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.