Usa etiquetas para agrupar repositorios y otros recursos en Google Cloud para la generación de informes, la auditoría y el control de acceso en Google Cloud organización.
Para agrupar repositorios en Artifact Registry para la automatización y la facturación para fines específicos, usa etiquetas. Las etiquetas funcionan de forma independiente entre sí y puedes aplicar ambos 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 de Google Cloud en el a nivel de organización y administrarlos 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 se adjuntan directamente a los repositorios.
Los registros de auditoría de Cloud no se generan para adjuntar etiquetas y ver vinculaciones de etiquetas en 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. Puedes etiquetar un repositorio vinculando un de salida al repositorio.
Para adjuntar una etiqueta a un repositorio, sigue estos pasos:
Console
Obtén el valor de etiqueta para adjuntarle al 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 alcance.
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, selecciónala. valor.
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 nombre con 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 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 gcloud CLI adjunta la etiqueta al siguiente:
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 adjuntas directamente al recurso especificado, por lo que
no muestra 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
Con este comando, se enumeran 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.
Para quitar una etiqueta adjunta a un repositorio, haz lo siguiente:
Console
Obtén el valor de etiqueta que deseas quitar. Si no conoces el valor de la etiqueta, list 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 etiqueta que deseas quitar. Si no conoces el valor de la etiqueta, enumera las etiquetas adjuntas al repositorio.
Desconecta 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
Con el siguiente comando de la CLI de gcloud, se 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.