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. Puedes 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 conceder 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

Para obtener los permisos que necesitas para gestionar etiquetas, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:

  • Lector de etiquetas (roles/resourcemanager.tagViewer) en los recursos a los que están asociadas las etiquetas
  • Para ver y gestionar etiquetas a nivel de organización, siga estos pasos: Lector de organización (roles/resourcemanager.organizationViewer) en la organización
  • Crear, actualizar y eliminar definiciones de etiquetas: Administrador de etiquetas (roles/resourcemanager.tagAdmin) en el recurso para el que estés creando, actualizando o eliminando etiquetas
  • Asignar y quitar etiquetas de recursos: Etiquetador de usuarios (roles/resourcemanager.tagUser) en el valor de la etiqueta y los recursos a los que asignes o quites el valor de la etiqueta

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

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, consulta 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 asociar 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á viendo una etiqueta asociada a un recurso global, como una carpeta o un proyecto, omita esta marca. Si estás viendo una etiqueta adjunta 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