Crear y gestionar etiquetas

En esta guía se describe cómo crear y gestionar etiquetas en bases de datos en modo Datastore.

Acerca de las etiquetas

Una etiqueta es un par clave-valor que se puede adjuntar a un recurso de Google Cloud. Puede usar etiquetas para permitir o denegar políticas de forma condicional en función de si un recurso tiene una etiqueta específica. Por ejemplo, puedes asignar roles de Gestión de Identidades y Accesos (IAM) de forma condicional en función de si un recurso tiene una etiqueta específica. Para obtener más información sobre las etiquetas, consulte el artículo Descripción general de las etiquetas.

Las etiquetas se adjuntan a los recursos creando un recurso de vinculación de etiquetas que vincula el valor al recurso. Google Cloud

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

Para adjuntar etiquetas a bases de datos de Datastore, necesitas el rol Propietario de Datastore (roles/datastore.owner).

Crear claves y valores de etiquetas

Para poder adjuntar una etiqueta, primero debes crearla y configurar su valor. Para crear claves y valores de etiqueta, consulte Crear una etiqueta y Añadir un valor de etiqueta.

Añadir etiquetas durante la creación de recursos

Puede añadir etiquetas al crear bases de datos. Si añades etiquetas durante la creación de recursos, podrás proporcionar al instante metadatos esenciales para tus recursos, así como mejorar la organización, el seguimiento de costes y la aplicación de políticas automatizada.

gcloud

  gcloud firestore databases create \
      --location=LOCATION \
      --database=DATABASE \
      --tags=[KEY=VALUE,...]

Haz los cambios siguientes:

  • LOCATION: la ubicación en la que se va a operar.
  • DATABASE: el ID que se va a usar en la base de datos.
  • KEY=VALUE: lista de pares clave-valor de etiquetas que se van a vincular. Cada elemento debe expresarse como <tag-key-namespaced-name>=<tag-value-short-name> o <tag-key-name>=<tag-value-name>.

Para especificar varias etiquetas, sepáralas con comas. Por ejemplo, TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2.

API

Envía una solicitud POST a la siguiente URL:

      
https://firestore.googleapis.com/v1/projects/PROJECT/databases?databaseId=DATABASE

Proporciona el siguiente JSON en el cuerpo de la solicitud:

      
"type": "FIRESTORE_NATIVE",
"locationId": LOCATION,
"tags": {KEY:VALUE}

Haz los cambios siguientes:

  • PROJECT: el proyecto en el que se va a operar.
  • DATABASE: el ID que se va a usar en la base de datos.
  • LOCATION: la ubicación en la que se va a operar.
  • KEY:VALUE: lista de pares CLAVE=VALOR de etiquetas que se van a vincular. Cada elemento debe expresarse como <tag-key-namespaced-name>:<tag-value-short-name> o <tag-key-name>:<tag-value-name>.

Añadir etiquetas a recursos

Para añadir una etiqueta a bases de datos, sigue estos pasos:

gcloud

Para adjuntar una etiqueta a una base de datos, debes crear un recurso de vinculación de etiquetas mediante el comando gcloud resource-manager tags bindings create:

      gcloud resource-manager tags bindings create \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID \
          --location=LOCATION
      

Haz los cambios siguientes:

  • TAGVALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta adjunta. Por ejemplo, tagValues/567890123456.
  • RESOURCE_ID es el ID completo del recurso, incluido el nombre de dominio de la API para identificar el tipo de recurso (//firestore.googleapis.com/). Por ejemplo, para adjuntar una etiqueta a una base de datos en projects/firestore-test-project, el ID completo es //firestore.googleapis.com/projects/firestore-test-project/databases/\(default\).
  • LOCATION: la ubicación de tu recurso. Si vas a asociar una etiqueta a un recurso global, como una carpeta o un proyecto, omite esta marca. Si vas a asociar una etiqueta a un recurso regional o zonal, debes especificar la ubicación. Por ejemplo, us-central1 (región) o us-central1-a (zona).

Mostrar las etiquetas asociadas a los recursos

Puede ver una lista de las vinculaciones de etiquetas adjuntas directamente a la base de datos o heredadas por ella.

gcloud

Para obtener una lista de las vinculaciones de etiquetas asociadas a un recurso, usa el comando gcloud resource-manager tags bindings list:

      gcloud resource-manager tags bindings list \
          --parent=RESOURCE_ID \
          --location=LOCATION
      

Haz los cambios siguientes:

  • RESOURCE_ID es el ID completo del recurso, incluido el nombre de dominio de la API para identificar el tipo de recurso (//firestore.googleapis.com/). Por ejemplo, para adjuntar una etiqueta a una base de datos en projects/firestore-test-project, el ID completo es //firestore.googleapis.com/projects/firestore-test-project/databases/\(default\).
  • LOCATION: la ubicación de tu recurso. Si estás viendo una etiqueta asociada a un recurso global, como una carpeta o un proyecto, omite esta marca. Si estás viendo una etiqueta asociada a un recurso regional o zonal, debes especificar la ubicación. Por ejemplo, us-central1 (región) o us-central1-a (zona).

Deberías obtener una respuesta similar a la siguiente:

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //firestore.googleapis.com/projects/firestore-test-project/databases/(default)
      

Desvincular etiquetas de recursos

Puedes separar las etiquetas que se hayan adjuntado directamente a una base de datos. Las etiquetas heredadas se pueden anular adjuntando una etiqueta con la misma clave y un valor diferente, pero no se pueden separar.

gcloud

Para eliminar un enlace de etiqueta, usa el comando gcloud resource-manager tags bindings delete:

      gcloud resource-manager tags bindings delete \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID \
          --location=LOCATION
      

Haz los cambios siguientes:

  • TAGVALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta adjunta. Por ejemplo, tagValues/567890123456.
  • RESOURCE_ID es el ID completo del recurso, incluido el nombre de dominio de la API para identificar el tipo de recurso (//firestore.googleapis.com/). Por ejemplo, para adjuntar una etiqueta a una base de datos en projects/firestore-test-project, el ID completo es //firestore.googleapis.com/projects/firestore-test-project/databases/\(default\).
  • LOCATION: la ubicación de tu recurso. Si vas a asociar una etiqueta a un recurso global, como una carpeta o un proyecto, omite esta marca. Si vas a asociar una etiqueta a un recurso regional o zonal, debes especificar la ubicación. Por ejemplo, us-central1 (región) o us-central1-a (zona).

Eliminar claves y valores de etiquetas

Cuando elimine una definición de clave o valor de etiqueta, asegúrese de que la etiqueta se haya desvinculado de la base de datos. Debes eliminar los archivos adjuntos de etiquetas, denominados enlaces de etiquetas, antes de eliminar la definición de la etiqueta. Para eliminar claves y valores de etiquetas, consulta Eliminar etiquetas.

Condiciones y etiquetas de gestión de identidades y accesos

Puedes usar etiquetas y condiciones de gestión de identidades y accesos para conceder enlaces de roles de forma condicional a los usuarios de tu jerarquía. Si se cambia o se elimina la etiqueta asociada a un recurso, se puede retirar el acceso de los usuarios a ese recurso si se ha aplicado una política de gestión de identidades y accesos con enlaces de roles condicionales. Para obtener más información, consulta Condiciones y etiquetas de Gestión de Identidades y Accesos.

Siguientes pasos