Repositorios de etiquetas

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, 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 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

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

    Abrir la página repositorios

  3. Selecciona el repositorio que deseas 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 permiso.

  7. Selecciona el proyecto de repositorio.

  8. En el campo Clave, escribe para filtrar la lista de etiquetas y, luego, selecciónala. .

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

  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 (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

  1. Obtén el valor de etiqueta que deseas quitar. Si no conoces el valor de la etiqueta, enumera 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 junto a la etiqueta que deseas quitar.

  8. Haz clic en Guardar.

  9. Haz clic en Confirmar.

    La etiqueta se quita de tu repositorio.

gcloud CLI

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

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