Etiquetar repositorios

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, como compute.instances.createTagBinding para las instancias de Compute Engine.
    • Permiso deleteTagBinding específico de un recurso, como compute.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

  1. 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
  2. Abre la página Repositorios en la consola de Google Cloud .

    Abre la página Repositorios.

  3. Selecciona el repositorio que quieras etiquetar.

  4. 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.

  5. Haz clic en el icono Editar Editar etiquetas.

  6. En la sección Etiquetas directas, haga clic en Seleccionar ámbito.

  7. Selecciona el proyecto del repositorio.

  8. En el campo clave, escribe para filtrar la lista de etiquetas y, a continuación, selecciona la clave de etiqueta.

  9. En el campo Valor, escribe para filtrar la lista de etiquetas y, a continuación, selecciona el valor de la etiqueta.

  10. Haz clic en Guardar.

  11. Haz clic en Confirmar.

    La etiqueta se adjunta a tu repositorio.

CLI de gcloud

  1. 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
  2. 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

  1. Abre la página Repositorios en la consola de Google Cloud .

    Abre la página Repositorios.

  2. Selecciona el repositorio que quieras ver.

  3. 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

  1. Obtén el valor de la etiqueta que quieras quitar. Si no conoce el valor de la etiqueta, liste las etiquetas asociadas al repositorio.

  2. Abre la página Repositorios en la consola de Google Cloud .

    Abre la página Repositorios.

  3. Selecciona el repositorio.

  4. 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.

  5. Haz clic en el icono Editar Editar etiquetas.

  6. En la sección Etiquetas directas, busque la etiqueta que quiera quitar.

  7. Haz clic en el icono eliminar situado junto a la etiqueta que quieras quitar.

  8. Haz clic en Guardar.

  9. Haz clic en Confirmar.

    La etiqueta se elimina de tu repositorio.

CLI de gcloud

  1. Obtén el valor de la etiqueta que quieras quitar. Si no conoce el valor de la etiqueta, liste las etiquetas asociadas al repositorio.

  2. 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