Repositorios de etiquetas

Usa etiquetas a fin de agrupar repositorios y otros recursos en Google Cloud para informes, auditorías y control de acceso dentro de tu organización de Google Cloud.

Si quieres agrupar repositorios en Artifact Registry para fines de automatización y facturación, usa etiquetas. Las etiquetas funcionan de forma independiente y puedes aplicar ambas al mismo repositorio. Para obtener más información sobre las diferencias entre las etiquetas y las etiquetas, consulta Etiquetas y etiquetas.

¿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 las 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 condicionalmente a etiquetas heredadas del proyecto superior y superiores, pero no admiten etiquetas que adjuntas 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, como compute.instances.createTagBinding para instancias de Compute Engine.
    • Permiso deleteTagBinding específico del recurso, como compute.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 adjuntar etiquetas a un repositorio. Cada etiqueta tiene una clave y un valor. Para etiquetar un repositorio, vinculas un valor a este.

Sigue estos pasos para adjuntar una etiqueta a un repositorio:

Console

  1. Obtén el valor de etiqueta de tu administrador para adjuntarlo.

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

    Abrir la página repositorios

  3. Selecciona el repositorio que quieres etiquetar.

  4. En la sección Detalles del repositorio, haz clic en Mostrar más.

    Se muestran las etiquetas existentes del repositorio, incluidas las heredadas.

  5. Haz clic en el ícono Editar Editar etiquetas.

  6. En la sección Etiquetas directas, haz clic en Seleccionar alcance.

  7. Selecciona tu proyecto de repositorio.

  8. En el campo clave, escribe para filtrar la lista de etiquetas y, luego, selecciona la clave de etiqueta.

  9. En el campo Valor, escribe para filtrar la lista de etiquetas y, luego, selecciona el valor de la etiqueta.

  10. Haz clic en Guardar.

  11. Haz clic en Confirmar.

    La etiqueta se adjunta a tu repositorio.

gcloud CLI

  1. Obtén el valor de etiqueta de tu administrador para adjuntarlo.

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

    Considera el siguiente ejemplo:

    • Valor de 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 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 adjuntas a un recurso al que tienes permisos para acceder.

Console

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

    Abrir la página repositorios

  2. Selecciona el repositorio que deseas ver.

  3. 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 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 las etiquetas heredadas del proyecto superior o superior. Puedes enumerar las etiquetas heredadas del proyecto superior 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 en 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 proyecto 7890123456:

gcloud alpha resource-manager tags bindings list \
    --parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \

Separa las etiquetas de los repositorios

Puedes desconectar una etiqueta que se adjunta directamente a un repositorio. Si necesitas quitar una etiqueta heredada del proyecto superior o de otra parte de la jerarquía de recursos, un administrador del proyecto debe desconectarla del recurso al que se adjunta la etiqueta.

Sigue estos pasos para quitar una etiqueta adjunta a un repositorio:

Console

  1. Obtén el valor de etiqueta que deseas quitar. Si no conoces el valor de la etiqueta, list las etiquetas adjuntas al repositorio.

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

    Abrir la página repositorios

  3. Selecciona el repositorio.

  4. En la sección Detalles del repositorio, haz clic en Mostrar más.

    Se muestran las etiquetas existentes del repositorio, incluidas las heredadas.

  5. Haz clic en el ícono Editar Editar etiquetas.

  6. En la sección Etiquetas directas, busca la etiqueta que deseas quitar.

  7. Haz clic en el ícono de borrar que aparece junto a la etiqueta que deseas quitar.

  8. Haz clic en Guardar.

  9. Haz clic en Confirmar.

    Se quitará la etiqueta de tu repositorio.

gcloud CLI

  1. Obtén el valor de etiqueta que deseas quitar. Si no conoces el valor de la etiqueta, list las etiquetas adjuntas al repositorio.

  2. Desvincula 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 la etiqueta TAG_VALUE para 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 repositorio.

    Considera el siguiente ejemplo:

    • Valor de etiqueta: 815471563813/env/dev
    • Proyecto: my-project
    • Repositorio: my-repo
    • Ubicación del repositorio: us-east1

    Con el siguiente comando de gcloud CLI, se desconecta 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?