Usa etiquetas para agrupar repositorios y otros recursos en Google Cloud para generar informes, auditorías y controlar el acceso en 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 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 condicional a etiquetas que son del proyecto superior y de versiones superiores, pero no admiten etiquetas que que puedes adjuntar 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 las etiquetas, puedes adjuntarlas a en un repositorio. Cada etiqueta tiene una clave y un valor. Para etiquetar un repositorio, vincula un valor al repositorio.
Para adjuntar una etiqueta a un repositorio, sigue estos pasos:
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, selecciónala. .
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 alpha 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 alpha 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 están adjuntas a un recurso para el que tienes permisos el acceso a los datos.
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 (Tags), se muestran todas las etiquetas del repositorio, incluidas las directas. las etiquetas heredadas de un nivel superior en la jerarquía de recursos.
gcloud CLI
Para enumerar las etiquetas adjuntas a un repositorio, ejecuta el siguiente comando:
gcloud alpha 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. Puedes enumerar
etiquetas heredadas del proyecto superior especificando un proyecto en lugar de
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 alpha 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 alpha resource-manager tags bindings list \
--parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \
Desconecta etiquetas de repositorios
Puedes desconectar una etiqueta que está directamente adjunta a un repositorio. Si necesitas quitar una etiqueta heredada del proyecto superior o de otra parte del de recursos, un administrador del proyecto debe desvincularla de el recurso al que se adjunta la etiqueta.
Sigue estos pasos para quitar una etiqueta adjunta a un repositorio:
Console
Obtén el valor de 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 quita de tu repositorio.
gcloud CLI
Obtén el valor de 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 alpha resource-manager tags bindings delete \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Reemplaza los siguientes valores:
Valor de etiqueta
TAG_VALUE
que se debe desconectar.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 en un repositorio de confianza.
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 la CLI de gcloud separa la etiqueta del repositorio:
gcloud alpha 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.