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, comocompute.instances.createTagBinding
para las instancias de Compute Engine. - Permiso
deleteTagBinding
específico de un recurso, comocompute.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 enprojects/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) ous-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 enprojects/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) ous-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 enprojects/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) ous-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
- Consulta los otros servicios que admiten etiquetas.
- Consulta Etiquetas y control de acceso para saber cómo usar etiquetas con gestión de identidades y accesos.