Crea y administra etiquetas
En esta guía, se describe cómo crear y administrar etiquetas en bases de datos de Firestore.
Acerca de las etiquetas de política
Una etiqueta es un par clave-valor que se puede adjuntar a un recurso dentro deGoogle 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 otorgar de forma condicional roles de Identity and Access Management (IAM) en función de si un recurso tiene una etiqueta específica. Para obtener más información sobre las etiquetas, consulta Descripción general de las etiquetas.
Las etiquetas se adjuntan a los recursos creando un recurso de vinculación de etiqueta que vincula el valor al recurso Google Cloud .
Permisos necesarios
Para obtener los permisos que necesitas para administrar etiquetas, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Visualizador de etiquetas (
roles/resourcemanager.tagViewer) en los recursos a los que se adjuntan las etiquetas -
Ver y administrar etiquetas a nivel de la organización:
Visualizador de la organización (
roles/resourcemanager.organizationViewer) en la organización -
Crear, actualizar y borrar definiciones de etiquetas:
Administrador de etiquetas (
roles/resourcemanager.tagAdmin) en el recurso para el que creas, actualizas o borras etiquetas -
Adjuntar y quitar etiquetas de los recursos:
Usuario de etiquetas (
roles/resourcemanager.tagUser) en el valor de la etiqueta y los recursos a los que adjuntas o quitas el valor de la etiqueta
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Para adjuntar etiquetas a las instancias de Firestore, necesitas el rol de Propietario de Datastore (roles/datastore.owner).
Crea claves y valores de etiqueta
Antes de poder adjuntar una etiqueta, debes crear una y configurar su valor. Para crear claves y valores de etiqueta, consulta Crea una etiqueta y Agrega un valor a una etiqueta.
Agrega etiquetas durante la creación de recursos
Puedes agregar etiquetas cuando crees bases de datos. Agregar etiquetas durante la creación de recursos te permite proporcionar al instante metadatos esenciales para tus recursos y también ayuda a mejorar la organización, el seguimiento de costos y la aplicación automatizada de políticas.
gcloud
gcloud firestore databases create \
--location=LOCATION \
--database=DATABASE \
--tags=[KEY=VALUE,...]Reemplaza lo siguiente:
LOCATION: Es la ubicación en la que se operará.DATABASE: Es el ID que se usará para la base de datos.KEY=VALUE: Es una lista de pares clave-valor de etiquetas para 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 una coma, 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=DATABASEProporciona el siguiente JSON en el cuerpo de la solicitud:
"type": "FIRESTORE_NATIVE",
"locationId": LOCATION,
"tags": {KEY:VALUE}
Reemplaza lo siguiente:
PROJECT: Es el proyecto en el que se operará.DATABASE: Es el ID que se usará para la base de datos.LOCATION: Es la ubicación en la que se operará.KEY:VALUE: Es una lista de pares clave-valor de etiquetas para vincular. Cada elemento debe expresarse como<tag-key-namespaced-name>:<tag-value-short-name>o<tag-key-name>:<tag-value-name>.
Agrega etiquetas a recursos existentes
Para agregar una etiqueta a las bases de datos existentes, sigue estos pasos:
gcloud
Para adjuntar una etiqueta a una base de datos, debes crear un recurso de vinculación de etiqueta con el comando gcloud resource-manager tags bindings create:
gcloud resource-manager tags bindings create \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID \
--location=LOCATION
Reemplaza lo siguiente:
TAGVALUE_NAMEes el ID permanente o el nombre de espacio de nombres del valor de la etiqueta que se adjunta; por ejemplo,tagValues/567890123456.-
RESOURCE_IDes 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: es la ubicación de tu recurso. Si adjuntas una etiqueta a un recurso global, como una carpeta o un proyecto, omite esta marca. Si adjuntas una etiqueta a un recurso regional o zonal, debes especificar la ubicación; por ejemplo,us-central1(región) ous-central1-a(zona).
Enumera las etiquetas adjuntas a los recursos
Puedes ver una lista de vinculaciones de etiquetas adjuntas o heredadas por la base de datos directamente.
gcloud
Para obtener una lista de vinculaciones de etiquetas adjuntas a un recurso, usa el comando gcloud resource-manager tags bindings list:
gcloud resource-manager tags bindings list \
--parent=RESOURCE_ID \
--location=LOCATION
Reemplaza lo siguiente:
-
RESOURCE_IDes 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: es la ubicación de tu recurso. Si ves una etiqueta adjunta a un recurso global, como una carpeta o un proyecto, omite esta marca. Si ves una etiqueta adjunta a un recurso regional o zonal, debes especificar la ubicación; por ejemplo,us-central1(región) ous-central1-a(zona).
Deberías recibir una respuesta similar a la que figura a continuación:
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
tagValue: tagValues/567890123456
resource: //firestore.googleapis.com/projects/firestore-test-project/databases/(default)
Desconecta etiquetas de recursos
Puedes desconectar las etiquetas que se adjuntaron directamente a una base de datos. Las etiquetas heredadas se pueden anular conectando una etiqueta con la misma clave y un valor diferente, pero no se pueden desconectar.
gcloud
Para borrar una vinculación 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
Reemplaza lo siguiente:
TAGVALUE_NAMEes el ID permanente o el nombre de espacio de nombres del valor de la etiqueta que se adjunta; por ejemplo,tagValues/567890123456.-
RESOURCE_IDes 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: es la ubicación de tu recurso. Si adjuntas una etiqueta a un recurso global, como una carpeta o un proyecto, omite esta marca. Si adjuntas una etiqueta a un recurso regional o zonal, debes especificar la ubicación; por ejemplo,us-central1(región) ous-central1-a(zona).
Borra claves y valores de etiqueta
Cuando quites una definición de valor o clave de etiqueta, asegúrate de que la etiqueta esté desconectada de la base de datos. Debes borrar los adjuntos de etiqueta existentes, llamados vinculaciones de etiquetas, antes de borrar la definición de la etiqueta en sí. Para borrar claves y valores de etiqueta, consulta Borra etiquetas.
Etiquetas y condiciones de Identity and Access Management
Puedes usar etiquetas y condiciones de IAM para otorgar de forma condicional vinculaciones de roles a los usuarios en la jerarquía de tu proyecto. Cambiar o borrar la etiqueta adjunta a un recurso puede quitar el acceso del usuario a ese recurso si se aplicó una política de IAM con vinculaciones de funciones condicionales. Para obtener más información, consulta Etiquetas y condiciones de Identity and Access Management.
¿Qué sigue?
- Consulta los demás servicios que admiten etiquetas.
- Consulta Etiquetas y control de acceso para aprender a usar etiquetas con la IAM.