Usa etiquetas para agrupar repositorios y otros recursos en Google Cloud para generar informes, realizar auditorías y controlar el acceso dentro de tu organización de Google Cloud.
Para agrupar repositorios dentro de Artifact Registry con fines de automatización y facturación, usa etiquetas. Las etiquetas funcionan de manera independiente unas de otras y puedes aplicarlas al mismo repositorio. Para obtener más información sobre las diferencias entre las etiquetas y los rótulos identificadores, consulta Etiquetas y rótulos identificadores.
¿Qué son las etiquetas?
Las etiquetas son pares clave-valor que puedes aplicar a tus recursos para obtener un control de acceso detallado.
Los administradores de proyectos crean etiquetas para los recursos en Google Cloud a nivel de la organización y los administran en Resource Manager. Cuando adjuntas una etiqueta a un repositorio de Artifact Registry, puedes usarla con condiciones de IAM para otorgar acceso condicional al repositorio. No puedes adjuntar etiquetas a artefactos individuales.
Ten en cuenta las siguientes restricciones:
Las políticas de la organización pueden hacer referencia de forma condicional a las etiquetas heredadas del proyecto principal y superiores, pero no admiten etiquetas que se adjunten directamente a los repositorios.
Los registros de auditoría de Cloud no se generan para adjuntar etiquetas ni ver 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 necesarios
Para obtener los permisos que necesitas para administrar etiquetas, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Visualizador de etiquetas (
roles/resourcemanager.tagViewer) en los recursos a los que se adjuntan las etiquetas -
Ver y administrar etiquetas a nivel de la organización:
Visualizador de la organización (
roles/resourcemanager.organizationViewer) en la organización -
Crear, actualizar y borrar definiciones de etiquetas:
Administrador de etiquetas (
roles/resourcemanager.tagAdmin) en el recurso para el que creas, actualizas o borras etiquetas -
Adjuntar y quitar etiquetas de los recursos:
Usuario de etiquetas (
roles/resourcemanager.tagUser) en el valor de la etiqueta y los recursos a los que adjuntas o quitas el valor de la etiqueta
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Cómo adjuntar etiquetas a repositorios
Después de que un administrador del proyecto crea etiquetas, puedes adjuntarlas a un repositorio. Cada etiqueta tiene una clave y un valor. Para etiquetar un repositorio, debes vincular un valor a él.
Para adjuntar una etiqueta a un repositorio, haz lo siguiente:
Console
Obtén el valor de la etiqueta que deseas adjuntar de tu administrador.
Puedes 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 deseas etiquetar.
En la sección Detalles del repositorio, haz clic en Mostrar más.
Se muestran las etiquetas existentes para el repositorio, incluidas las heredadas.
Haz clic en el ícono
Editar etiquetas.En la sección Etiquetas directas, haz clic en Seleccionar permiso.
Selecciona el proyecto del repositorio.
En el campo clave, escribe para filtrar la lista de etiquetas y, luego, selecciona la clave de la etiqueta.
En el campo Valor, escribe para filtrar la lista de etiquetas y, luego, selecciona el valor de la etiqueta.
Haz clic en Guardar.
Haz clic en Confirmar.
La etiqueta se adjunta a tu repositorio.
gcloud CLI
Obtén el valor de la etiqueta que deseas adjuntar de tu administrador.
Puedes 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=LOCATIONReemplaza los siguientes valores:
TAG_VALUEes el ID permanente o el nombre del espacio de nombres del valor de la etiqueta que se adjuntará.REPOSITORY_IDes 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-repoLOCATIONes la ubicación del repositorio.
Considera el siguiente ejemplo:
- Valor de la etiqueta:
815471563813/env/dev - Proyecto:
my-project - Repositorio:
my-repo - Ubicación del repositorio:
us-east1
El siguiente comando de gcloud CLI 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
Enumera las etiquetas adjuntas a los repositorios
Puedes enumerar las etiquetas que se adjuntan a un recurso al que tienes permiso para acceder.
Console
Abre la página Repositorios en la consola de Google Cloud .
Selecciona el repositorio que deseas ver.
En la sección Detalles del repositorio, haz clic en Mostrar más.
En la lista Tags, se muestran todas las etiquetas del repositorio, incluidas las etiquetas directas y las heredadas de niveles superiores de la jerarquía de recursos.
gcloud CLI
Para enumerar las etiquetas adjuntas a un repositorio, ejecuta el siguiente comando:
gcloud resource-manager tags bindings list \
--parent=REPOSITORY_ID \
--location=LOCATION
El comando solo enumera las etiquetas adjuntas directamente al recurso especificado, por lo que no devuelve las etiquetas heredadas del proyecto principal o de un nivel superior. Puedes enumerar las etiquetas heredadas del proyecto principal si especificas un proyecto en lugar de un repositorio con la marca --parent.
Por ejemplo, este comando enumera las etiquetas adjuntas al repositorio my-repo en el 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 enumera las etiquetas adjuntas al número de proyecto 7890123456:
gcloud resource-manager tags bindings list \
--parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \
Desvincula etiquetas de repositorios
Puedes desconectar una etiqueta que esté conectada directamente a un repositorio. Si necesitas quitar una etiqueta que se heredó 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 adjunta a un repositorio, haz lo siguiente:
Console
Obtén el valor de la etiqueta que deseas quitar. Si no conoces el valor de la etiqueta, enumera las etiquetas adjuntas al repositorio.
Abre la página Repositorios en la consola de Google Cloud .
Selecciona el repositorio.
En la sección Detalles del repositorio, haz clic en Mostrar más.
Se muestran las etiquetas existentes para el repositorio, incluidas las heredadas.
Haz clic en el ícono
Editar etiquetas.En la sección Etiquetas directas, busca la etiqueta que deseas quitar.
Haz clic en el ícono de borrar junto a la etiqueta que deseas quitar.
Haz clic en Guardar.
Haz clic en Confirmar.
Se quitará la etiqueta de tu repositorio.
gcloud CLI
Obtén el valor de la etiqueta que deseas quitar. Si no conoces el valor de la etiqueta, enumera las etiquetas adjuntas al repositorio.
Desvincula el valor de la etiqueta con el siguiente comando:
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATIONReemplaza los siguientes valores:
Valor de la etiqueta
TAG_VALUEque se separará.REPOSITORY_IDes 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-repoLOCATIONes la ubicación del repositorio.
Considera el siguiente ejemplo:
- Valor de la etiqueta:
815471563813/env/dev - Proyecto:
my-project - Repositorio:
my-repo - Ubicación del repositorio:
us-east1
El siguiente comando de gcloud CLI 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
¿Qué sigue?
- Obtén más información sobre las etiquetas de repositorio.