Use etiquetas para agrupar repositórios e outros recursos para Google Cloud relatórios, auditorias e controlo de acesso na sua Google Cloudorganização.
Para agrupar repositórios no Artifact Registry para fins de automatização e faturação, use etiquetas. As etiquetas e os marcadores funcionam independentemente uns dos outros e pode aplicá-los ambos ao mesmo repositório. Para mais informações sobre as diferenças entre etiquetas e rótulos, consulte o artigo Etiquetas e rótulos.
O que são etiquetas?
As etiquetas são pares de chave-valor que pode aplicar aos seus recursos para um controlo de acesso detalhado.
Os administradores de projetos criam etiquetas para recursos em toda a organização Google Cloud ao nível da organização e gerem-nas no Resource Manager. Quando associa uma etiqueta a um repositório do Artifact Registry, pode usar a etiqueta com condições do IAM para conceder acesso condicional ao repositório. Não pode anexar etiquetas a artefactos individuais.
Tenha em atenção estas restrições:
As políticas da organização podem referenciar condicionalmente etiquetas que são herdadas do projeto principal e superiores, mas não suportam etiquetas que anexa diretamente aos repositórios.
Os registos de auditoria do Google Cloud não são gerados para anexar etiquetas e ver associações de etiquetas em repositórios.
Para mais informações sobre etiquetas e controlo de acesso condicional com etiquetas, consulte o artigo Etiquetas e controlo de acesso.
Autorizações necessárias
As autorizações de que precisa dependem da ação que tem de realizar.
Para obter estas autorizações, peça ao administrador para conceder a função sugerida no nível adequado da hierarquia de recursos.
Ver etiquetas
Para ver as definições de etiquetas e as etiquetas anexadas a recursos, precisa da função Visualizador de etiquetas (roles/resourcemanager.tagViewer
) ou de outra função que inclua as seguintes autorizações:
Autorizações necessárias
resourcemanager.tagKeys.get
resourcemanager.tagKeys.list
resourcemanager.tagValues.list
resourcemanager.tagValues.get
listTagBindings
para o tipo de recurso adequado. Por exemplo,compute.instances.listTagBindings
para ver etiquetas anexadas a instâncias do Compute Engine.listEffectiveTags
para o tipo de recurso adequado.
Por exemplo,
compute.instances.listEffectiveTags
para ver
todas as etiquetas anexadas ou herdadas por instâncias do Compute Engine.
Para ver etiquetas ao nível da organização, precisa da função Visitante da organização
(roles/resourcemanager.organizationViewer
) no recurso da organização.
Administre etiquetas
Para criar, atualizar e eliminar definições de etiquetas, precisa da função de administrador de etiquetas (roles/resourcemanager.tagAdmin
) ou de outra função que inclua as seguintes autorizações:
Autorizaçõ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 etiquetas ao nível da organização, precisa da função de
Leitor da organização (roles/resourcemanager.organizationViewer
) no
recurso da organização.
Faça a gestão de etiquetas em recursos
Para adicionar e remover etiquetas anexadas a recursos, precisa da função Utilizador de etiquetas (roles/resourcemanager.tagUser
) ou de outra função com autorizações
equivalentes, no valor da etiqueta e nos recursos aos quais está a anexar
o valor da etiqueta. A função Utilizador da etiqueta inclui as seguintes autorizações:
Autorizações necessárias
- Autorizações necessárias para o recurso ao qual está a anexar o valor da etiqueta
- Autorização
createTagBinding
específica do recurso, comocompute.instances.createTagBinding
para instâncias do Compute Engine. - Autorização
deleteTagBinding
específica do recurso, comocompute.instances.deleteTagBinding
para instâncias do Compute Engine. - Autorizações necessárias para o valor da etiqueta:
resourcemanager.tagValueBindings.create
resourcemanager.tagValueBindings.delete
- Autorizações que lhe permitem ver projetos e definições de etiquetas:
resourcemanager.tagValues.get
resourcemanager.tagValues.list
resourcemanager.tagKeys.get
resourcemanager.tagKeys.list
resourcemanager.projects.get
Anexar etiquetas a repositórios
Depois de um administrador do projeto criar etiquetas, pode anexá-las a um repositório. Cada etiqueta tem uma chave e um valor. Etiqueta um repositório associando um valor ao repositório.
Para anexar uma etiqueta a um repositório:
Consola
Obtenha o valor da etiqueta a anexar junto do seu administrador.
Pode anexar um valor de etiqueta com um destes tipos de identificadores:
- Um nome com espaço de nomes, como
123456789012/env/dev
- Um ID permanente, como
tagValues/567890123456
- Um nome com espaço de nomes, como
Abra a página Repositórios na Google Cloud consola.
Selecione o repositório que quer etiquetar.
Na secção Detalhes do repositório, clique em Mostrar mais.
São apresentadas as etiquetas existentes para o repositório, incluindo as etiquetas herdadas.
Clique no ícone
Editar etiquetas.
Na secção Etiquetas diretas, clique em Selecionar âmbito.
Selecione o projeto do repositório.
No campo chave, escreva para filtrar a lista de etiquetas e, de seguida, selecione a chave da etiqueta.
No campo Valor, escreva para filtrar a lista de etiquetas e, de seguida, selecione o valor da etiqueta.
Clique em Guardar.
Clique em Confirm.
A etiqueta está anexada ao seu repositório.
CLI gcloud
Obtenha o valor da etiqueta a anexar junto do seu administrador.
Pode anexar um valor de etiqueta com um destes tipos de identificadores:
- Um nome com espaço de nomes, como
123456789012/env/dev
- Um ID permanente, como
tagValues/567890123456
- Um nome com espaço de nomes, como
Anexe o valor da etiqueta com o seguinte comando:
gcloud resource-manager tags bindings create \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Substitua os seguintes valores:
TAG_VALUE
é o ID permanente ou o nome com espaço de nomes do valor da etiqueta a anexar.REPOSITORY_ID
é o ID completo do repositório, incluindo o nome do 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
é a localização do repositório.
Considere o seguinte exemplo:
- Valor da etiqueta:
815471563813/env/dev
- Projeto:
my-project
- Repositório:
my-repo
- Localização do repositório:
us-east1
O seguinte comando da CLI gcloud anexa a etiqueta 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
Listagem de etiquetas anexadas a repositórios
Pode listar as etiquetas anexadas a um recurso ao qual tem autorização de acesso.
Consola
Abra a página Repositórios na Google Cloud consola.
Selecione o repositório que quer ver.
Na secção Detalhes do repositório, clique em Mostrar mais.
A lista Etiquetas mostra todas as etiquetas do repositório, incluindo etiquetas diretas e etiquetas herdadas de um nível superior na hierarquia de recursos.
CLI gcloud
Para apresentar uma lista de etiquetas anexadas a um repositório, execute o seguinte comando:
gcloud resource-manager tags bindings list \
--parent=REPOSITORY_ID \
--location=LOCATION
O comando apenas lista as etiquetas diretamente anexadas ao recurso especificado, pelo que não devolve etiquetas herdadas do projeto principal ou superior. Pode listar as etiquetas herdadas do projeto principal especificando um projeto em vez de um repositório com a flag --parent
.
Por exemplo, este comando lista as etiquetas anexadas ao repositório my-repo
no projeto my-project
e na localização us-east1
:
gcloud 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 etiquetas anexadas ao número do projeto 7890123456
:
gcloud resource-manager tags bindings list \
--parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \
Desassociar etiquetas de repositórios
Pode desanexar uma etiqueta que esteja diretamente anexada a um repositório. Se precisar de remover uma etiqueta herdada do projeto principal ou de outra parte da hierarquia de recursos, um administrador do projeto tem de a desassociar do recurso ao qual a etiqueta está anexada.
Para remover uma etiqueta associada a um repositório:
Consola
Obtenha o valor da etiqueta que quer remover. Se não souber o valor da etiqueta, liste as etiquetas anexadas ao repositório.
Abra a página Repositórios na Google Cloud consola.
Selecione o repositório.
Na secção Detalhes do repositório, clique em Mostrar mais.
São apresentadas as etiquetas existentes para o repositório, incluindo as etiquetas herdadas.
Clique no ícone
Editar etiquetas.
Na secção Etiquetas diretas, localize a etiqueta que quer remover.
Clique no ícone
eliminar junto à etiqueta que quer remover.Clique em Guardar.
Clique em Confirm.
A etiqueta é removida do seu repositório.
CLI gcloud
Obtenha o valor da etiqueta que quer remover. Se não souber o valor da etiqueta, liste as etiquetas anexadas ao repositório.
Desassocie o valor da etiqueta com o seguinte comando:
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Substitua os seguintes valores:
Valor da etiqueta
TAG_VALUE
a desassociar.REPOSITORY_ID
é o ID completo do repositório, incluindo o nome do domínio da API para identificar o tipo de recurso (//artifactregistry.googleapis.com/
). Por exemplo,//artifactregistry.googleapis.com/projects/my-project/my-repo
LOCATION
é a localização do repositório.
Considere o seguinte exemplo:
- Valor da etiqueta:
815471563813/env/dev
- Projeto:
my-project
- Repositório:
my-repo
- Localização do repositório:
us-east1
O seguinte comando da CLI gcloud desassocia a etiqueta 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
O que se segue?
- Saiba mais sobre as etiquetas de repositório.