Usa etiquetas para agrupar repositorios y otros recursos en Google Cloud para informes, auditorías y control de acceso en tu Google Cloud organización.
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 de recurso y las etiquetas de instancia, consulta Etiquetas de instancia y etiquetas de recurso.
¿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 superior y superior, pero no admiten etiquetas que adjuntes 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
Los permisos que necesitas dependen de la acción que debes realizar.
Para obtener estos permisos, pídele a tu administrador que otorgue el rol sugerido en el nivel adecuado de la jerarquía de recursos.
Visualiza etiquetas
Para ver las definiciones y etiquetas de etiquetas que se adjuntan a los recursos, necesitas el rol visualizador de etiquetas (roles/resourcemanager.tagViewer
) o bien otro rol que incluya los siguientes permisos:
Permisos necesarios
resourcemanager.tagKeys.get
resourcemanager.tagKeys.list
resourcemanager.tagValues.list
resourcemanager.tagValues.get
listTagBindings
para el tipo de recurso adecuado. Por ejemplo,compute.instances.listTagBindings
para ver las etiquetas adjuntas a las instancias de Compute Engine.listEffectiveTags
para el tipo de recurso adecuado.
Por ejemplo,
compute.instances.listEffectiveTags
para ver todas las etiquetas adjuntas a las instancias de Compute Engine o heredadas de ellas.
Para ver las etiquetas a nivel de la organización, necesitas el rol Visualizador de la organización (roles/resourcemanager.organizationViewer
) en el recurso de la organización.
Administra etiquetas
Para crear, actualizar y borrar definiciones de etiquetas, necesitas el rol Administrador de etiquetas (roles/resourcemanager.tagAdmin
) o algún otro rol que incluya los siguientes permisos:
Permisos necesarios
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 la organización, necesitas el rol Visualizador de la organización (roles/resourcemanager.organizationViewer
) en el recurso de la organización.
Administra etiquetas en los recursos
Para agregar y quitar etiquetas adjuntas a los recursos, necesitas el rol Usuario de etiquetas (roles/resourcemanager.tagUser
) o bien otro rol con permisos equivalentes, en el valor de etiqueta y los recursos a los que adjuntas el valor de etiqueta. El rol de Usuario de etiquetas incluye los siguientes permisos:
Permisos necesarios
- Permisos necesarios para el recurso al que adjuntas el valor de la etiqueta
- Permiso
createTagBinding
específico del recurso, comocompute.instances.createTagBinding
para instancias de Compute Engine. - Permiso
deleteTagBinding
específico del recurso, comocompute.instances.deleteTagBinding
para instancias de Compute Engine. - Permisos necesarios para el valor de 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
Adjunta etiquetas a los 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 al repositorio.
Para adjuntar una etiqueta a un repositorio, haz lo siguiente:
Console
Obtén el valor de la etiqueta que debes 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 del 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 de repositorio.
En el campo clave, escribe para filtrar la lista de etiquetas y, luego, selecciona la clave de 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 debes 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=LOCATION
Reemplaza los siguientes valores:
TAG_VALUE
es el ID permanente o el nombre de espacio de nombres del valor de la etiqueta que se 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.
Considera el siguiente ejemplo:
- Valor de la etiqueta:
815471563813/env/dev
- Proyecto:
my-project
- Repositorio:
my-repo
- Ubicación del repositorio:
us-east1
Con el siguiente comando de la CLI de gcloud, se 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
Cómo enumerar 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 Etiquetas, se muestran todas las etiquetas del repositorio, incluidas las etiquetas directas y las heredadas de una jerarquía de recursos superior.
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 directamente adjuntas al recurso especificado, por lo que no muestra las etiquetas heredadas del proyecto superior o superior. Para enumerar las etiquetas heredadas del proyecto superior, especifica un proyecto en lugar de un repositorio con la marca --parent
.
Por ejemplo, este comando muestra 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 muestra una lista de las etiquetas adjuntas al número de proyecto 7890123456
:
gcloud resource-manager tags bindings list \
--parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \
Desconecta etiquetas de repositorios
Puedes desconectar una etiqueta que se adjunta directamente a un repositorio. Si necesitas quitar una etiqueta que se hereda del proyecto superior 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 del 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.
La etiqueta se quitará 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.
Separa el valor de la etiqueta con el siguiente comando:
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Reemplaza los siguientes valores:
Es el valor de la etiqueta
TAG_VALUE
que se debe 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.
Considera el siguiente ejemplo:
- Valor de la etiqueta:
815471563813/env/dev
- Proyecto:
my-project
- Repositorio:
my-repo
- Ubicación del repositorio:
us-east1
Con el siguiente comando de la CLI de gcloud, se 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.