Conjuntos de datos de etiquetas
En esta página, se describe cómo usar etiquetas para aplicar de forma condicional las políticas de Identity and Access Management (IAM) a los conjuntos de datos de BigQuery.
Una etiqueta es un par clave-valor que puedes adjuntar directamente a un conjunto de datos o que un conjunto de datos puede heredar de otros recursos de Google Cloud. Puedes aplicar políticas de forma condicional en función de si un recurso tiene una etiqueta específica. Por ejemplo, puedes otorgar de forma condicional el rol de visualizador de datos de BigQuery a una principal en cualquier conjunto de datos con la etiqueta environment:dev
.
Para obtener más información sobre el uso de etiquetas en la jerarquía de recursos de Google Cloud, consulta la Descripción general de las etiquetas.
Permisos necesarios
Para usar etiquetas en BigQuery, necesitas los siguientes permisos:
- Para adjuntar una etiqueta a un conjunto de datos, necesitas el permiso
bigquery.datasets.createTagBinding
de IAM en el conjunto de datos y el permisoresourcemanager.tagValueBindings.create
a nivel de la organización en el valor de la etiqueta que deseas adjuntar. - Para quitar una etiqueta de un conjunto de datos, necesitas el permiso
bigquery.datasets.deleteTagBinding
de IAM en el conjunto de datos y el permisoresourcemanager.tagValueBindings.delete
a nivel de organización en el valor de la etiqueta que deseas borrar. . - Para obtener una lista de las etiquetas adjuntas a un conjunto de datos, necesitas el permiso
bigquery.datasets.listTagBindings
de IAM.
Los siguientes roles predefinidos de IAM incluyen todos los permisos de BigQuery necesarios:
- Propietario de datos de BigQuery (
roles/bigquery.dataOwner
) - BigQuery Admin (
roles/bigquery.admin
)
Los permisos de Resource Manager se incluyen en el rol de usuario de etiquetas (roles/resourcemanager.tagUser
).
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 valores de etiquetas.
Adjunta etiquetas a un conjunto de datos
Después de crear una etiqueta, puedes adjuntarla a un conjunto de datos. Solo puedes adjuntar un valor de etiqueta a un conjunto de datos para cualquier clave de etiqueta determinada.
Para adjuntar una etiqueta a un conjunto de datos mediante la línea de comandos, crea un recurso de vinculación de etiquetas con el comando gcloud alpha resource-manager tags bindings create
:
gcloud alpha resource-manager tags bindings create \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Reemplaza lo siguiente:
TAGVALUE_NAME
: El ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se adjuntará, comotagValues/4567890123
o1234567/my_tag_key/my_tag_value
RESOURCE_ID
: El ID completo del conjunto de datos, incluido el nombre de dominio de la API (//bigquery.googleapis.com/
) para identificar el tipo de recurso, por ejemplo,//bigquery.googleapis.com/projects/my_project/datasets/my_dataset
LOCATION
: La ubicación de tu conjunto de datos
Obtén una lista de las etiquetas adjuntas a un conjunto de datos
Con los siguientes pasos, se proporciona una lista de vinculaciones de etiquetas adjuntas directamente a un conjunto de datos. No se muestran etiquetas heredadas de los recursos superiores.
Console
Ve a la página de BigQuery.
En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.
Las etiquetas aparecen en el panel Información del conjunto de datos.
gcloud
Para obtener una lista de vinculaciones de etiquetas adjuntas a un recurso, usa el comando gcloud alpha resource-manager tags bindings list
:
gcloud alpha resource-manager tags bindings list \ --parent=RESOURCE_ID \ --location=LOCATION
Reemplaza lo siguiente:
RESOURCE_ID
: El ID completo del conjunto de datos, incluido el nombre de dominio de la API (//bigquery.googleapis.com/
) para identificar el tipo de recurso, por ejemplo,//bigquery.googleapis.com/projects/my_project/datasets/my_dataset
LOCATION
: La ubicación de tu conjunto de datos
El resultado es similar a este:
name: tagBindings/%2F%2Fbigquery.googleapis.com%2Fprojects%2Fmy_project%2Fdatasets%2Fmy_dataset/tagValues/4567890123 parent: //bigquery.googleapis.com/projects/my_project/datasets/my_dataset tagValue: tagValues/4567890123
Desvincula etiquetas de un conjunto de datos
Para desconectar una etiqueta de un recurso, borra el recurso de vinculación de etiquetas. Si necesitas borrar una etiqueta, primero debes desvincularla.
Para desvincular una etiqueta de un conjunto de datos mediante la línea de comandos, borra la vinculación de la etiqueta con el comando gcloud alpha resource-manager tags bindings delete
:
gcloud alpha resource-manager tags bindings delete \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Reemplaza lo siguiente:
TAGVALUE_NAME
: El ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se adjuntará, comotagValues/4567890123
o1234567/my_tag_key/my_tag_value
RESOURCE_ID
: El ID completo del conjunto de datos, incluido el nombre de dominio de la API (//bigquery.googleapis.com/
) para identificar el tipo de recurso, por ejemplo,//bigquery.googleapis.com/projects/my_project/datasets/my_dataset
LOCATION
: La ubicación de tu conjunto de datos
Borrar etiquetas
Debes borrar todos los recursos de vinculación de etiquetas existentes antes de borrar la clave o el valor de la etiqueta. Para borrar claves y valores de etiqueta, consulta Borra etiquetas.
Ejemplo
Imagina que eres administrador de una organización. Los analistas de datos son miembros del grupo analistas@example.com, que tiene el rol de IAM de visualizador de datos de BigQuery en el proyecto userData. Se contrata un pasante de analista de datos y, de acuerdo con la política de la empresa, solo debe tener permiso para ver el conjunto de datos anonymousData en el proyecto userData. Puedes controlar su acceso mediante etiquetas.
Crea una etiqueta con la clave
employee_type
y el valorintern
:En la consola, ve a la página IAM.
Ubica la fila que contiene el pasante cuyo acceso al conjunto de datos deseas restringir y haz clic en Editar principal
en esa fila.En el menú Rol, selecciona Visualizador de conjunto de datos de BigQuery.
Haz clic en Agregar condición:
En los campos Título y Descripción, ingresa los valores que describen la condición de IAM que deseas crear.
En la pestaña Creador de condiciones, haz clic en Agregar.
En el menú Tipo de condición, selecciona Recurso y, luego, Etiqueta.
En el menú Operador, selecciona tiene el valor.
En el campo Ruta de valor, ingresa la ruta de valor de etiqueta en el formato
ORGANIZATION/TAG_KEY/TAG_VALUE
, por ejemplo,example.org/employee_type/intern
.Esta condición de IAM restringe el acceso del pasante a los conjuntos de datos que tienen la etiqueta
intern
.Para guardar la condición, haz clic en Guardar.
Para guardar todos los cambios que realizaste en el panel Editar permisos, haz clic en Guardar.
A fin de adjuntar el valor de etiqueta
intern
al conjunto de datos anonymousData, usa la línea de comandos para ejecutar el comandogcloud alpha resource-manager tags bindings create
:gcloud alpha resource-manager tags bindings create \ --tag-value=tagValues/4567890123 \ --parent=//bigquery.googleapis.com/projects/userData/datasets/anonymousData \ --location=US
Limitaciones
Si borras un valor de etiqueta, BigQuery no borra de forma automática las vinculaciones de etiqueta que usan ese valor. El ID del valor de etiqueta es necesario para borrar una vinculación de etiqueta después de que se borra el valor de etiqueta. Si no conoces el ID del valor de etiqueta, la única forma de quitar la vinculación es borrar todo el conjunto de datos.
Puedes adjuntar un máximo de 10 etiquetas a un conjunto de datos.
¿Qué sigue?
- Para obtener una descripción general de las etiquetas en Google Cloud, consulta Descripción general de las etiquetas.
- Para obtener más información sobre cómo usar etiquetas, consulta Crea y administra etiquetas.