Usa etiquetas para agrupar repositorios y otros recursos en Google Cloud para generar informes, auditar y controlar el acceso en tu organización de Google Cloud.
Para agrupar repositorios en Artifact Registry con fines de automatización y facturación, usa etiquetas. Las etiquetas funcionan independientemente entre sí y puedes aplicar ambas al mismo repositorio. Para obtener más información sobre las diferencias entre etiquetas, consulte Etiquetas.
¿Qué son las etiquetas?
Las etiquetas son pares clave-valor que puedes aplicar a tus recursos para controlar el acceso de forma precisa.
Los administradores de proyectos crean etiquetas para los recursos de toda la organización y los gestionan en Resource Manager. Google Cloud Cuando adjuntas una etiqueta a un repositorio de Artifact Registry, puedes usarla con condiciones de gestión de identidades y accesos para conceder acceso condicional al repositorio. No puede adjuntar etiquetas a artefactos concretos.
Ten en cuenta estas restricciones:
Las políticas de la organización pueden hacer referencia condicionalmente a etiquetas que se heredan del proyecto superior y de los proyectos de nivel superior, pero no admiten etiquetas que adjuntes directamente a los repositorios.
No se generan registros de auditoría de Cloud al adjuntar etiquetas ni al ver las vinculaciones de etiquetas en los repositorios.
Para obtener más información sobre las etiquetas y el control de acceso condicional con etiquetas, consulta Etiquetas y control de acceso.
Permisos obligatorios
Los permisos que necesitas dependen de la acción que quieras realizar.
Para obtener estos permisos, pide a tu administrador que te asigne el rol sugerido en el nivel adecuado de la jerarquía de recursos.
Ver etiquetas
Para ver las definiciones de etiquetas y las etiquetas que están asociadas a recursos, necesitas el rol Lector de etiquetas (roles/resourcemanager.tagViewer
) u otro rol que incluya los siguientes permisos:
Permisos obligatorios
resourcemanager.tagKeys.get
resourcemanager.tagKeys.list
resourcemanager.tagValues.list
resourcemanager.tagValues.get
listTagBindings
del tipo de recurso correspondiente. Por ejemplo,compute.instances.listTagBindings
para ver las etiquetas asociadas a las instancias de Compute Engine.listEffectiveTags
para el tipo de recurso adecuado.
Por ejemplo,
compute.instances.listEffectiveTags
para ver todas las etiquetas asociadas o heredadas por las instancias de Compute Engine.
Para ver las etiquetas a nivel de organización, debes tener el rol Lector de organización (roles/resourcemanager.organizationViewer
) en el recurso de organización.
Administrar etiquetas
Para crear, actualizar y eliminar definiciones de etiquetas, necesitas el rol Administrador de etiquetas (roles/resourcemanager.tagAdmin
) u otro rol que incluya los siguientes permisos:
Permisos obligatorios
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 a nivel de organización, debes tener el rol Lector de organización (roles/resourcemanager.organizationViewer
) en el recurso de organización.
Gestionar etiquetas en recursos
Para añadir y quitar etiquetas asociadas a recursos, necesitas el rol Usuario de etiquetas (roles/resourcemanager.tagUser
) u otro rol con permisos equivalentes en el valor de etiqueta y en los recursos a los que vas a asociar el valor de etiqueta. El rol Etiquetar usuario incluye los siguientes permisos:
Permisos obligatorios
- Permisos necesarios para el recurso al que vas a adjuntar el valor de la etiqueta
- Permiso
createTagBinding
específico de un recurso, comocompute.instances.createTagBinding
para las instancias de Compute Engine. - Permiso
deleteTagBinding
específico de un recurso, comocompute.instances.deleteTagBinding
para las instancias de Compute Engine. - Permisos necesarios para el valor de la etiqueta:
resourcemanager.tagValueBindings.create
resourcemanager.tagValueBindings.delete
- Permisos que te permiten ver proyectos y definiciones de etiquetas:
resourcemanager.tagValues.get
resourcemanager.tagValues.list
resourcemanager.tagKeys.get
resourcemanager.tagKeys.list
resourcemanager.projects.get
Adjuntar etiquetas a repositorios
Después de que un administrador de proyectos cree etiquetas, puedes adjuntarlas a un repositorio. Cada etiqueta tiene una clave y un valor. Para etiquetar un repositorio, debes asociar un valor al repositorio.
Para adjuntar una etiqueta a un repositorio, sigue estos pasos:
Consola
Pide a tu administrador el valor de la etiqueta que quieres adjuntar.
Puede adjuntar un valor de etiqueta con uno de estos tipos de identificadores:
- Un nombre con espacio de nombres, como
123456789012/env/dev
- Un ID permanente, como
tagValues/567890123456
- Un nombre con espacio de nombres, como
Abre la página Repositorios en la consola de Google Cloud .
Selecciona el repositorio que quieras etiquetar.
En la sección Repository Details (Detalles del repositorio), haga clic en Show more (Mostrar más).
Se muestran las etiquetas del repositorio, incluidas las heredadas.
Haz clic en el icono
Editar etiquetas.
En la sección Etiquetas directas, haga clic en Seleccionar ámbito.
Selecciona el proyecto del repositorio.
En el campo clave, escribe para filtrar la lista de etiquetas y, a continuación, selecciona la clave de etiqueta.
En el campo Valor, escribe para filtrar la lista de etiquetas y, a continuación, selecciona el valor de la etiqueta.
Haz clic en Guardar.
Haz clic en Confirmar.
La etiqueta se adjunta a tu repositorio.
CLI de gcloud
Pide a tu administrador el valor de la etiqueta que quieres adjuntar.
Puede adjuntar un valor de etiqueta con uno de estos tipos de identificadores:
- Un nombre con espacio de nombres, como
123456789012/env/dev
- Un ID permanente, como
tagValues/567890123456
- Un nombre con espacio de nombres, como
Adjunta el valor de la etiqueta con el siguiente comando:
gcloud resource-manager tags bindings create \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Sustituye los siguientes valores:
TAG_VALUE
es el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se va a adjuntar.REPOSITORY_ID
es el ID completo del repositorio, incluido el nombre de dominio de la API para identificar el tipo de recurso (//artifactregistry.googleapis.com/
). Por ejemplo,//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo
.LOCATION
es la ubicación del repositorio.
Veamos un ejemplo:
- Valor de la etiqueta:
815471563813/env/dev
- Proyecto:
my-project
- Repositorio:
my-repo
- Ubicación del repositorio:
us-east1
El siguiente comando de la CLI de gcloud adjunta la etiqueta al repositorio:
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 las etiquetas asociadas a los repositorios
Puedes enumerar las etiquetas asociadas a un recurso al que tengas permiso para acceder.
Consola
Abre la página Repositorios en la consola de Google Cloud .
Selecciona el repositorio que quieras ver.
En la sección Repository Details (Detalles del repositorio), haga clic en Show more (Mostrar más).
En la lista Etiquetas se muestran todas las etiquetas del repositorio, incluidas las etiquetas directas y las etiquetas heredadas de niveles superiores de la jerarquía de recursos.
CLI de gcloud
Para ver las etiquetas asociadas a un repositorio, ejecuta el siguiente comando:
gcloud resource-manager tags bindings list \
--parent=REPOSITORY_ID \
--location=LOCATION
El comando solo muestra las etiquetas asociadas directamente al recurso especificado, por lo que no devuelve las etiquetas heredadas del proyecto superior o de un nivel superior. Puedes enumerar las etiquetas heredadas del proyecto principal especificando un proyecto en lugar de un repositorio con la marca --parent
.
Por ejemplo, este comando muestra las etiquetas asociadas al repositorio my-repo
del proyecto my-project
y la ubicación 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 muestra las etiquetas asociadas al número de proyecto 7890123456
:
gcloud resource-manager tags bindings list \
--parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \
Desvincular etiquetas de repositorios
Puedes separar una etiqueta que esté vinculada directamente a un repositorio. Si necesitas quitar una etiqueta que se ha heredado del proyecto principal o de otra parte de la jerarquía de recursos, un administrador del proyecto debe desvincularla del recurso al que esté adjunta.
Para quitar una etiqueta asociada a un repositorio, sigue estos pasos:
Consola
Obtén el valor de la etiqueta que quieras quitar. Si no conoce el valor de la etiqueta, liste las etiquetas asociadas al repositorio.
Abre la página Repositorios en la consola de Google Cloud .
Selecciona el repositorio.
En la sección Repository Details (Detalles del repositorio), haga clic en Show more (Mostrar más).
Se muestran las etiquetas del repositorio, incluidas las heredadas.
Haz clic en el icono
Editar etiquetas.
En la sección Etiquetas directas, busque la etiqueta que quiera quitar.
Haz clic en el icono
eliminar situado junto a la etiqueta que quieras quitar.Haz clic en Guardar.
Haz clic en Confirmar.
La etiqueta se elimina de tu repositorio.
CLI de gcloud
Obtén el valor de la etiqueta que quieras quitar. Si no conoce el valor de la etiqueta, liste las etiquetas asociadas al repositorio.
Desasocia el valor de la etiqueta con el siguiente comando:
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Sustituye los siguientes valores:
Valor de la etiqueta
TAG_VALUE
que se va a separar.REPOSITORY_ID
es el ID completo del repositorio, incluido el nombre de dominio de la API para identificar el tipo de recurso (//artifactregistry.googleapis.com/
). Por ejemplo,//artifactregistry.googleapis.com/projects/my-project/my-repo
.LOCATION
es la ubicación del repositorio.
Veamos un ejemplo:
- Valor de la etiqueta:
815471563813/env/dev
- Proyecto:
my-project
- Repositorio:
my-repo
- Ubicación del repositorio:
us-east1
El siguiente comando de la CLI de gcloud separa la etiqueta del repositorio:
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
Siguientes pasos
- Consulta información sobre las etiquetas de repositorio.