Etiquetar tablas, vistas y conjuntos de datos

En este documento se describe cómo usar etiquetas para aplicar de forma condicional políticas de gestión de identidades y accesos (IAM) a tablas, vistas y conjuntos de datos de BigQuery.

También puedes usar etiquetas para denegar el acceso de forma condicional con políticas de gestión de identidades y accesos a tablas, vistas y conjuntos de datos de BigQuery (versión preliminar). Para obtener más información, consulta las políticas de denegación.

Una etiqueta es un par clave-valor que puedes asociar directamente a una tabla, una vista o un conjunto de datos, o bien un par clave-valor que una tabla, una vista o un conjunto de datos pueden heredar de otrosGoogle Cloud recursos. Puedes aplicar políticas de forma condicional en función de si un recurso tiene una etiqueta específica. Por ejemplo, puedes conceder de forma condicional el rol Lector de datos de BigQuery a una entidad de 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, consulta el artículo Descripción general de las etiquetas. Google Cloud

Para conceder permisos a muchos recursos de BigQuery relacionados al mismo tiempo, incluidos los recursos que aún no existen, puedes usar condiciones de gestión de identidades y accesos.

Limitaciones

  • Las etiquetas de tabla no se admiten en las tablas de BigQuery Omni, las tablas de conjuntos de datos ocultos ni las tablas temporales. Las etiquetas de conjuntos de datos no se admiten en conjuntos de datos de BigQuery Omni. Además, las consultas entre regiones de BigQuery Omni no usan etiquetas durante las comprobaciones de control de acceso de las tablas de otras regiones.

  • Puede adjuntar un máximo de 50 etiquetas a una tabla o a un conjunto de datos.

  • Todas las tablas a las que se hace referencia en una consulta con comodín deben tener exactamente el mismo conjunto de claves y valores de etiquetas.

  • Los usuarios con acceso condicional a un conjunto de datos o a una tabla no pueden modificar los permisos de ese recurso a través de la consola de Google Cloud . Las modificaciones de permisos solo se admiten a través de la herramienta bq y la API de BigQuery.

  • Algunos servicios ajenos a BigQuery no pueden verificar correctamente las condiciones de las etiquetas de gestión de identidades y accesos. Si la condición de la etiqueta es positiva, lo que significa que a un usuario se le asigna un rol en un recurso solo si ese recurso tiene una etiqueta concreta, se le deniega el acceso al recurso independientemente de las etiquetas que tenga. Si la condición de la etiqueta es negativa, es decir, si a un usuario se le concede un rol en un recurso solo si ese recurso no tiene una etiqueta concreta, no se comprueba la condición de la etiqueta.

    Por ejemplo, Data Catalog no puede verificar las condiciones de las etiquetas de gestión de identidades y accesos en conjuntos de datos y tablas de BigQuery. Supongamos que hay una política de gestión de identidades y accesos condicional que otorga a un becario el rol Lector de datos de BigQuery en conjuntos de datos con la etiqueta employee_type=intern. Como se trata de una condición de etiqueta positiva, el becario no puede ver los conjuntos de datos buscando en Data Catalog, aunque esos conjuntos de datos tengan la etiqueta employee_type=intern. Si la condición de la etiqueta se cambiara a una negativa, de forma que el becario solo pudiera ver los conjuntos de datos que no tuvieran la etiqueta employee_type=intern, la comprobación se omitiría por completo y el becario podría ver los conjuntos de datos a los que normalmente no podría acceder en BigQuery.

Roles obligatorios

Debe asignar roles de gestión de identidades y accesos que den a los usuarios los permisos necesarios para realizar cada tarea de este documento.

Los dos roles de gestión de identidades y accesos predefinidos siguientes incluyen todos los permisos de BigQuery necesarios:

  • Propietario de datos de BigQuery (roles/bigquery.dataOwner)
  • Administrador de BigQuery (roles/bigquery.admin)

Los permisos de Resource Manager para añadir y quitar etiquetas se incluyen en el rol Usuario de etiquetas (roles/resourcemanager.tagUser).

Permisos obligatorios

Para usar etiquetas en BigQuery, necesitas los siguientes permisos:

Operación Interfaces de BigQuery (API, CLI y consola) y Terraform API de Cloud Resource Manager o gcloud
Asociar una etiqueta a una tabla o una vista
  • Permiso bigquery.tables.createTagBinding en la tabla o la vista
  • Permiso resourcemanager.tagValueBindings.create en el valor de la etiqueta
  • Permiso bigquery.tables.create para adjuntar una etiqueta al crear una tabla o una vista
  • Permiso bigquery.tables.update para adjuntar una etiqueta al actualizar una tabla o una vista
  • Permiso bigquery.tables.createTagBinding en la tabla o la vista
  • Permiso resourcemanager.tagValueBindings.create en el valor de la etiqueta
Quitar una etiqueta de una tabla o una vista
  • Permiso bigquery.tables.deleteTagBinding en la tabla o la vista
  • Permiso resourcemanager.tagValueBindings.delete en el valor de la etiqueta
  • Permiso bigquery.tables.update para quitar una etiqueta al actualizar una tabla o una vista
  • Permiso bigquery.tables.deleteTagBinding en la tabla o la vista
  • Permiso resourcemanager.tagValueBindings.delete en el valor de la etiqueta
Asociar una etiqueta a un conjunto de datos
  • Permiso bigquery.datasets.createTagBinding en el conjunto de datos
  • Permiso resourcemanager.tagValueBindings.create en el valor de la etiqueta
  • Permiso bigquery.datasets.create para adjuntar una etiqueta al crear un conjunto de datos
  • Permiso bigquery.datasets.update para adjuntar una etiqueta al actualizar un conjunto de datos
  • Permiso bigquery.datasets.createTagBinding en el conjunto de datos
  • Permiso resourcemanager.tagValueBindings.create en el valor de la etiqueta
Quitar una etiqueta de un conjunto de datos
  • Permiso bigquery.datasets.deleteTagBinding en el conjunto de datos
  • Permiso resourcemanager.tagValueBindings.delete en el valor de la etiqueta
  • bigquery.datasets.update para quitar una etiqueta al actualizar un conjunto de datos
  • Permiso bigquery.datasets.deleteTagBinding en el conjunto de datos
  • Permiso resourcemanager.tagValueBindings.delete en el valor de la etiqueta

Para enumerar las claves y los valores de las etiquetas en la consola Google Cloud , necesitas los siguientes permisos:

  • Para enumerar las claves de etiquetas asociadas a una organización o un proyecto superior, necesitas el permiso resourcemanager.tagKeys.list en el nivel superior de la clave de etiqueta y el permiso resourcemanager.tagKeys.get para cada clave de etiqueta. Para ver la lista de claves de etiquetas en la consola de BigQuery, haga clic en el nombre del conjunto de datos y, a continuación, en Editar detalles. También puede hacer clic en el nombre de la tabla o de la vista y, a continuación, en Detalles > Editar detalles.

  • Para mostrar los valores de las etiquetas de las claves asociadas a una organización o un proyecto de nivel superior, necesitas el permiso resourcemanager.tagValues.list en el nivel superior del valor de la etiqueta y el permiso resourcemanager.tagValues.get para cada valor de etiqueta. Para ver la lista de valores de clave de etiqueta en la consola de BigQuery, haga clic en el nombre del conjunto de datos y, a continuación, en Editar detalles. También puede hacer clic en el nombre de la tabla o de la vista y, a continuación, en Detalles > Editar detalles.

Para usar etiquetas en la API Cloud Resource Manager o en gcloud, necesitas los siguientes permisos:

  • Para enumerar las etiquetas asociadas a una tabla o una vista con la API Cloud Resource Manager o la CLI de gcloud, necesitas el permiso bigquery.tables.listTagBindings de gestión de identidades y accesos.
  • Para ver las etiquetas efectivas de una tabla o una vista, necesitas el permiso de gestión de identidades y accesos bigquery.tables.listEffectiveTags.
  • Para enumerar las etiquetas asociadas a un conjunto de datos con la API Cloud Resource Manager o la CLI de gcloud, necesitas el permiso de gestión de identidades y accesos bigquery.datasets.listTagBindings.
  • Para ver la lista de etiquetas activas de un conjunto de datos, necesitas el permiso de gestión de identidades y accesos bigquery.datasets.listEffectiveTags.

Crear claves y valores de etiquetas

Puede crear una etiqueta antes de asociarla a un recurso de BigQuery o crearla manualmente al crear el recurso mediante laGoogle Cloud consola.

Para obtener información sobre cómo crear claves y valores de etiquetas, consulta los artículos Crear una etiqueta y Añadir valores de etiquetas de la documentación de Resource Manager.

Etiquetar conjuntos de datos

En las siguientes secciones se describe cómo adjuntar etiquetas a conjuntos de datos nuevos y ya creados, cómo enumerar las etiquetas adjuntas a un conjunto de datos y cómo desvincular etiquetas de un conjunto de datos.

Asignar etiquetas al crear un conjunto de datos

Una vez que hayas creado una etiqueta, podrás asociarla a un nuevo conjunto de datos de BigQuery. Solo puede asociar un valor de etiqueta a un conjunto de datos para una clave de etiqueta determinada. Puede adjuntar un máximo de 50 etiquetas a un conjunto de datos.

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, selecciona el proyecto en el que quieras crear el conjunto de datos.

  3. Haz clic en Ver acciones > Crear conjunto de datos.

  4. Introduce la información del nuevo conjunto de datos. Para obtener más información, consulta Crear conjuntos de datos.

  5. Despliega la sección Etiquetas.

    1. Para aplicar una etiqueta ya creada, sigue estos pasos:

      1. Haz clic en la flecha desplegable situada junto a Seleccionar ámbito y elige una de las siguientes opciones: Ámbito actual: Seleccionar organización actual o Seleccionar proyecto actual.

        También puede hacer clic en Seleccionar ámbito para buscar un recurso o ver una lista de los recursos actuales.

      2. En Clave 1 y Valor 1, elija los valores adecuados de las listas.

    2. Para introducir manualmente una etiqueta nueva, sigue estos pasos:

      1. Haz clic en la flecha desplegable situada junto a Seleccionar un ámbito y elige Introducir IDs manualmente > Organización, Proyecto o Etiquetas.

      2. Si vas a crear una etiqueta para tu proyecto u organización, introduce el PROJECT_ID o el ORGANIZATION_ID en el cuadro de diálogo y, a continuación, haz clic en Guardar.

      3. En Clave 1 y Valor 1, elija los valores adecuados de las listas.

    3. Opcional: Para añadir más etiquetas a la tabla, haz clic en Añadir etiqueta y sigue los pasos anteriores.

  6. Haz clic en Crear conjunto de datos.

SQL

Usa la instrucción CREATE SCHEMA.

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

    CREATE SCHEMA PROJECT_ID.DATASET_ID
    OPTIONS (
      tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Haz los cambios siguientes:

    • PROJECT_ID: tu ID de proyecto.
    • DATASET_ID: el ID del conjunto de datos que vas a crear.
    • TAG_KEY_1: el nombre de clave con espacio de nombres que quieras definir como la primera etiqueta del conjunto de datos. Por ejemplo, 'my-project/env' o '556741164180/department'.
    • TAG_VALUE_1: el nombre corto del valor de la etiqueta; por ejemplo, 'prod' o 'sales'.
    • TAG_KEY_2: el nombre de la clave con espacio de nombres de la segunda etiqueta.
    • TAG_VALUE_2: el nombre abreviado del valor de la segunda etiqueta.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Usa el comando bq mk --dataset con la marca --add_tags:

bq mk --dataset \
    --add_tags=TAG \
    PROJECT_ID:DATASET_ID

Haz los cambios siguientes:

  • TAG: la etiqueta que vas a asignar al nuevo conjunto de datos. Las etiquetas se separan con comas. Por ejemplo, 556741164180/env:prod,myProject/department:sales. Cada etiqueta debe tener el nombre de clave con espacio de nombres y el nombre corto del valor.
  • PROJECT_ID: el ID del proyecto en el que vas a crear un conjunto de datos.
  • DATASET_ID: el ID del nuevo conjunto de datos.

Terraform

Usa el recurso google_bigquery_dataset.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configurar la autenticación para bibliotecas de cliente.

En el siguiente ejemplo se crea un conjunto de datos llamado my_dataset y, a continuación, se le asignan etiquetas rellenando el campo resource_tags:


# Create tag keys and values
data "google_project" "default" {}

resource "google_tags_tag_key" "env_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "env2"
}

resource "google_tags_tag_key" "department_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "department2"
}

resource "google_tags_tag_value" "env_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.env_tag_key.name}"
  short_name = "prod"
}

resource "google_tags_tag_value" "department_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.department_tag_key.name}"
  short_name = "sales"
}

# Create a dataset
resource "google_bigquery_dataset" "default" {
  dataset_id                      = "my_dataset"
  default_partition_expiration_ms = 2592000000  # 30 days
  default_table_expiration_ms     = 31536000000 # 365 days
  description                     = "dataset description"
  location                        = "US"
  max_time_travel_hours           = 96 # 4 days

  # Attach tags to the dataset
  resource_tags = {
    (google_tags_tag_key.env_tag_key.namespaced_name) : google_tags_tag_value.env_tag_value.short_name,
    (google_tags_tag_key.department_tag_key.namespaced_name) : google_tags_tag_value.department_tag_value.short_name
  }
}

Para aplicar la configuración de Terraform en un proyecto, sigue los pasos que se indican en las siguientes secciones. Google Cloud

Preparar Cloud Shell

  1. Abre Cloud Shell.
  2. Define el Google Cloud proyecto Google Cloud predeterminado en el que quieras aplicar tus configuraciones de Terraform.

    Solo tiene que ejecutar este comando una vez por proyecto y puede hacerlo en cualquier directorio.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Las variables de entorno se anulan si defines valores explícitos en el archivo de configuración de Terraform.

Preparar el directorio

Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).

  1. En Cloud Shell, crea un directorio y un archivo nuevo en ese directorio. El nombre del archivo debe tener la extensión .tf. Por ejemplo, main.tf. En este tutorial, nos referiremos al archivo como main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si estás siguiendo un tutorial, puedes copiar el código de ejemplo de cada sección o paso.

    Copia el código de ejemplo en el archivo main.tf que acabas de crear.

    También puedes copiar el código de GitHub. Se recomienda cuando el fragmento de Terraform forma parte de una solución integral.

  3. Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
  4. Guarda los cambios.
  5. Inicializa Terraform. Solo tienes que hacerlo una vez por directorio.
    terraform init

    Si quieres usar la versión más reciente del proveedor de Google, incluye la opción -upgrade:

    terraform init -upgrade

Aplica los cambios

  1. Revisa la configuración y comprueba que los recursos que va a crear o actualizar Terraform se ajustan a tus expectativas:
    terraform plan

    Haga las correcciones necesarias en la configuración.

  2. Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo yes en la petición:
    terraform apply

    Espera hasta que Terraform muestre el mensaje "Apply complete!".

  3. Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, ve a tus recursos en la interfaz de usuario para asegurarte de que Terraform los ha creado o actualizado.

API

Llama al método datasets.insert y añade tus etiquetas al campo resource_tags.

Asociar etiquetas a un conjunto de datos

Una vez que hayas creado una etiqueta, podrás asociarla a un conjunto de datos. Solo puedes asociar un valor de etiqueta a un conjunto de datos por cada clave de etiqueta.

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.

  3. En la sección Información del conjunto de datos, haz clic en Editar detalles.

  4. Despliega la sección Etiquetas.

    1. Para aplicar una etiqueta ya creada, sigue estos pasos:

      1. Haz clic en la flecha desplegable situada junto a Seleccionar ámbito y elige una de las siguientes opciones: Ámbito actual: Seleccionar organización actual o Seleccionar proyecto actual.

        También puede hacer clic en Seleccionar ámbito para buscar un recurso o ver una lista de los recursos actuales.

      2. En Clave 1 y Valor 1, elija los valores adecuados de las listas.

    2. Para introducir manualmente una etiqueta nueva, sigue estos pasos:

      1. Haz clic en la flecha desplegable situada junto a Seleccionar un ámbito y elige Introducir IDs manualmente > Organización, Proyecto o Etiquetas.

      2. Si vas a crear una etiqueta para tu proyecto u organización, introduce el PROJECT_ID o el ORGANIZATION_ID en el cuadro de diálogo y, a continuación, haz clic en Guardar.

      3. En Clave 1 y Valor 1, elija los valores adecuados de las listas.

    3. Opcional: Para añadir más etiquetas a la tabla, haz clic en Añadir etiqueta y sigue los pasos anteriores.

  5. Haz clic en Guardar.

SQL

Usa la instrucción ALTER SCHEMA SET OPTIONS.

En el siguiente ejemplo se sobrescriben todas las etiquetas de un conjunto de datos.

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

    ALTER SCHEMA PROJECT_ID.DATASET_ID
    SET OPTIONS (
      tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Haz los cambios siguientes:

    • PROJECT_ID: tu ID de proyecto.
    • DATASET_ID: el ID del conjunto de datos que contiene la tabla.
    • TABLE_ID: el nombre de la tabla que vas a etiquetar.
    • TAG_KEY_1: el nombre de clave con espacio de nombres que quieras definir como la primera etiqueta de la tabla. Por ejemplo, 'my-project/env' o '556741164180/department'.
    • TAG_VALUE_1: el nombre corto del valor de la etiqueta; por ejemplo, 'prod' o 'sales'.
    • TAG_KEY_2: el nombre de la clave con espacio de nombres de la segunda etiqueta.
    • TAG_VALUE_2: el nombre abreviado del valor de la segunda etiqueta.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

En el siguiente ejemplo se usa el operador += para adjuntar etiquetas a un conjunto de datos sin sobrescribir las etiquetas que ya tenga. Si una etiqueta ya tiene esa clave, se sobrescribirá.

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

    ALTER SCHEMA PROJECT_ID.DATASET_ID
    SET OPTIONS (
      tags += [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Haz los cambios siguientes:

    • PROJECT_ID: tu ID de proyecto.
    • DATASET_ID: el ID del conjunto de datos que contiene la tabla.
    • TABLE_ID: el nombre de la tabla que vas a etiquetar.
    • TAG_KEY_1: el nombre de clave con espacio de nombres que quieras definir como la primera etiqueta de la tabla. Por ejemplo, 'my-project/env' o '556741164180/department'.
    • TAG_VALUE_1: el nombre corto del valor de la etiqueta; por ejemplo, 'prod' o 'sales'.
    • TAG_KEY_2: el nombre de la clave con espacio de nombres de la segunda etiqueta.
    • TAG_VALUE_2: el nombre abreviado del valor de la segunda etiqueta.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Usa el comando bq update con la marca --add_tags:

bq update \
    --add_tags=TAG \
    PROJECT_ID:DATASET_ID

Haz los cambios siguientes:

  • TAG: la etiqueta que vas a asociar al conjunto de datos. Las etiquetas se separan con comas. Por ejemplo, 556741164180/env:prod,myProject/department:sales. Cada etiqueta debe tener el nombre de clave con espacio de nombres y el nombre corto del valor.
  • PROJECT_ID: el ID del proyecto en el que se encuentra el conjunto de datos.
  • DATASET_ID: el ID del conjunto de datos.

gcloud

Para asociar 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 resource-manager tags bindings create:

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

Haz los cambios siguientes:

  • TAG_VALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se va a adjuntar, como tagValues/4567890123 o 1234567/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.

Terraform

Añade etiquetas al campo resource_tags del conjunto de datos y, a continuación, aplica la configuración actualizada mediante el recurso google_bigquery_dataset. Para obtener más información, consulta el ejemplo de Terraform en Asociar etiquetas al crear un conjunto de datos.

API

Llama al método datasets.get para obtener el recurso del conjunto de datos, incluido el campo resource_tags. Añade tus etiquetas al campo resource_tags y envía el recurso de conjunto de datos actualizado mediante el método datasets.update.

Mostrar las etiquetas asociadas a un conjunto de datos

En los pasos siguientes se muestra una lista de enlaces de etiquetas asociados directamente a un conjunto de datos. Estos métodos no devuelven etiquetas que se hayan heredado de recursos superiores.

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.

    Las etiquetas aparecen en la sección Información del conjunto de datos.

bq

Para ver una lista de las etiquetas asociadas a un conjunto de datos, usa el comando bq show.

bq show PROJECT_ID:DATASET_ID

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto que contiene tu conjunto de datos.
  • DATASET_ID: el ID del conjunto de datos del que quieres obtener la lista de etiquetas.

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: 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 debería ser similar al siguiente:

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

Terraform

Usa el comando terraform state show para enumerar los atributos del conjunto de datos, incluido el campo resource_tags. Ejecuta este comando en el directorio en el que se haya ejecutado el archivo de configuración de Terraform del conjunto de datos.

terraform state show google_bigquery_dataset.default

API

Llama al método datasets.get para obtener el recurso del conjunto de datos. El recurso de conjunto de datos incluye las etiquetas vinculadas al conjunto de datos en el campo resource_tags.

Vistas

Usa la vista INFORMATION_SCHEMA.SCHEMATA_OPTIONS.

Por ejemplo, la siguiente consulta muestra todas las etiquetas asociadas a todos los conjuntos de datos de una región. Esta consulta devuelve una tabla con columnas que incluyen schema_name (los nombres de los conjuntos de datos), option_name (siempre 'tags'), object_type (siempre ARRAY<STRUCT<STRING, STRING>>) y option_value, que contiene matrices de objetos STRUCT que representan las etiquetas asociadas a cada conjunto de datos. En el caso de los conjuntos de datos sin etiquetas asignadas, la columna option_value devuelve un array vacío.

SELECT * from region-REGION.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
WHERE option_name='tags'

Haz los cambios siguientes:

  • REGION: la región en la que se encuentran tus conjuntos de datos.

Desasociar etiquetas de un conjunto de datos

Para separar una etiqueta de un recurso, elimina el recurso de vinculación de etiquetas. Si vas a eliminar una etiqueta, debes desvincularla del conjunto de datos antes de eliminarla. Para obtener más información, consulta Eliminar etiquetas.

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.

  3. En la sección Información del conjunto de datos, haz clic en Editar detalles.

  4. En la sección Etiquetas, haz clic en Eliminar elemento junto a la etiqueta que quieras eliminar.

  5. Haz clic en Guardar.

SQL

Usa la instrucción ALTER SCHEMA SET OPTIONS.

En el siguiente ejemplo se desvinculan etiquetas de un conjunto de datos mediante el operador -=. Para desvincular todas las etiquetas de un conjunto de datos, puedes especificar tags=NULL o tags=[].

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

    ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID
    SET OPTIONS (
      tags -= [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Haz los cambios siguientes:

    • PROJECT_ID: tu ID de proyecto.
    • DATASET_ID: el ID del conjunto de datos que contiene la tabla.
    • TABLE_ID: el nombre de la tabla de la que vas a desvincular las etiquetas.
    • TAG_KEY_1: el nombre de clave con espacio de nombres de la primera etiqueta que quieras separar. Por ejemplo, 'my-project/env' o '556741164180/department'.
    • TAG_VALUE_1: el nombre corto del valor de la etiqueta que quieres desvincular. Por ejemplo, 'prod' o 'sales'.
    • TAG_KEY_2: el nombre de la clave con espacio de nombres de la segunda etiqueta que vas a separar.
    • TAG_VALUE_2: el nombre abreviado del valor de la segunda etiqueta que vas a desvincular.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Usa el comando bq update con la marca --remove_tags:

bq update \
    --remove_tags=REMOVED_TAG \
    PROJECT_ID:DATASET_ID

Haz los cambios siguientes:

  • REMOVED_TAG: la etiqueta que quiere quitar del conjunto de datos. Las etiquetas se separan con comas. Solo acepta claves sin pares de valores. Por ejemplo, 556741164180/env,myProject/department. Cada etiqueta debe tener el nombre de clave con espacio de nombres.
  • PROJECT_ID: el ID del proyecto que contiene tu conjunto de datos.
  • DATASET_ID: el ID del conjunto de datos del que se van a separar las etiquetas.

También puedes usar el comando bq update con la marca --clear_all_tags para quitar todas las etiquetas de un conjunto de datos:

bq update \
    --clear_all_tags
    PROJECT_ID:DATASET_ID

gcloud

Para desvincular una etiqueta de un conjunto de datos mediante la línea de comandos, elimina la vinculación de la etiqueta con el comando gcloud resource-manager tags bindings delete:

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

Haz los cambios siguientes:

  • TAG_VALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se va a separar, como tagValues/4567890123 o 1234567/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.

Terraform

Quite las etiquetas del campo resource_tags del conjunto de datos y, a continuación, aplique la configuración actualizada mediante el recurso google_bigquery_dataset.

API

Llama al método datasets.get para obtener el recurso del conjunto de datos, incluido el campo resource_tags. Elimina tus etiquetas del campo resource_tags y vuelve a enviar el recurso de conjunto de datos actualizado con el método datasets.update.

Etiquetar tablas

En las siguientes secciones se describe cómo adjuntar etiquetas a tablas nuevas y ya creadas, cómo enumerar las etiquetas adjuntas a una tabla y cómo separar etiquetas de una tabla.

Adjuntar etiquetas al crear una tabla

Una vez que hayas creado una etiqueta, podrás asociarla a una tabla nueva. Solo puede asociar un valor de etiqueta a una tabla para una clave de etiqueta determinada. Puedes adjuntar un máximo de 50 etiquetas a una tabla.

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, despliega tu proyecto y selecciona un conjunto de datos.

  3. En la sección Información del conjunto de datos, haga clic en Crear tabla.

  4. Introduce la información de la nueva tabla. Para obtener más información, consulta el artículo Crear y usar tablas.

  5. Despliega la sección Etiquetas.

    1. Para aplicar una etiqueta ya creada, sigue estos pasos:

      1. Haz clic en la flecha desplegable situada junto a Seleccionar ámbito y elige una de las siguientes opciones: Ámbito actual: Seleccionar organización actual o Seleccionar proyecto actual.

        También puede hacer clic en Seleccionar ámbito para buscar un recurso o ver una lista de los recursos actuales.

      2. En Clave 1 y Valor 1, elija los valores adecuados de las listas.

    2. Para introducir manualmente una etiqueta nueva, sigue estos pasos:

      1. Haz clic en la flecha desplegable situada junto a Seleccionar un ámbito y elige Introducir IDs manualmente > Organización, Proyecto o Etiquetas.

      2. Si vas a crear una etiqueta para tu proyecto u organización, introduce el PROJECT_ID o el ORGANIZATION_ID en el cuadro de diálogo y, a continuación, haz clic en Guardar.

      3. En Clave 1 y Valor 1, elija los valores adecuados de las listas.

    3. Opcional: Para añadir más etiquetas a la tabla, haz clic en Añadir etiqueta y sigue los pasos anteriores.

  6. Haz clic en Crear tabla.

SQL

Usa la instrucción CREATE TABLE.

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

    CREATE TABLE PROJECT_ID.DATASET_ID.TABLE_ID
    OPTIONS (
      tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Haz los cambios siguientes:

    • PROJECT_ID: tu ID de proyecto.
    • DATASET_ID: el ID del conjunto de datos en el que vas a crear la tabla.
    • TABLE_ID: el nombre de la nueva tabla.
    • TAG_KEY_1: el nombre de clave con espacio de nombres que quieras definir como la primera etiqueta de la tabla. Por ejemplo, 'my-project/env' o '556741164180/department'.
    • TAG_VALUE_1: el nombre corto del valor de la etiqueta; por ejemplo, 'prod' o 'sales'.
    • TAG_KEY_2: el nombre de la clave con espacio de nombres de la segunda etiqueta.
    • TAG_VALUE_2: el nombre abreviado del valor de la segunda etiqueta.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Usa el comando bq mk --table con la marca --add_tags:

bq mk --table \
    --schema=SCHEMA \
    --add_tags=TAG \
    PROJECT_ID:DATASET_ID.TABLE_ID

Haz los cambios siguientes:

Terraform

Usa el recurso google_bigquery_table.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configurar la autenticación para bibliotecas de cliente.

En el siguiente ejemplo se crea una tabla llamada mytable y, a continuación, se le asignan etiquetas rellenando el campo resource_tags:


# Create tag keys and values
data "google_project" "default" {}

resource "google_tags_tag_key" "env_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "env3"
}

resource "google_tags_tag_key" "department_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "department3"
}

resource "google_tags_tag_value" "env_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.env_tag_key.name}"
  short_name = "prod"
}

resource "google_tags_tag_value" "department_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.department_tag_key.name}"
  short_name = "sales"
}

# Create a dataset
resource "google_bigquery_dataset" "default" {
  dataset_id                      = "MyDataset"
  default_partition_expiration_ms = 2592000000  # 30 days
  default_table_expiration_ms     = 31536000000 # 365 days
  description                     = "dataset description"
  location                        = "US"
  max_time_travel_hours           = 96 # 4 days
}

# Create a table
resource "google_bigquery_table" "default" {
  dataset_id          = google_bigquery_dataset.default.dataset_id
  table_id            = "mytable"
  description         = "table description"
  deletion_protection = false # set to "true" in production

  # Attach tags to the table
  resource_tags = {
    (google_tags_tag_key.env_tag_key.namespaced_name) : google_tags_tag_value.env_tag_value.short_name,
    (google_tags_tag_key.department_tag_key.namespaced_name) : google_tags_tag_value.department_tag_value.short_name
  }
}

Para aplicar la configuración de Terraform en un proyecto, sigue los pasos que se indican en las siguientes secciones. Google Cloud

Preparar Cloud Shell

  1. Abre Cloud Shell.
  2. Define el Google Cloud proyecto Google Cloud predeterminado en el que quieras aplicar tus configuraciones de Terraform.

    Solo tiene que ejecutar este comando una vez por proyecto y puede hacerlo en cualquier directorio.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Las variables de entorno se anulan si defines valores explícitos en el archivo de configuración de Terraform.

Preparar el directorio

Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).

  1. En Cloud Shell, crea un directorio y un archivo nuevo en ese directorio. El nombre del archivo debe tener la extensión .tf. Por ejemplo, main.tf. En este tutorial, nos referiremos al archivo como main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si estás siguiendo un tutorial, puedes copiar el código de ejemplo de cada sección o paso.

    Copia el código de ejemplo en el archivo main.tf que acabas de crear.

    También puedes copiar el código de GitHub. Se recomienda cuando el fragmento de Terraform forma parte de una solución integral.

  3. Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
  4. Guarda los cambios.
  5. Inicializa Terraform. Solo tienes que hacerlo una vez por directorio.
    terraform init

    Si quieres usar la versión más reciente del proveedor de Google, incluye la opción -upgrade:

    terraform init -upgrade

Aplica los cambios

  1. Revisa la configuración y comprueba que los recursos que va a crear o actualizar Terraform se ajustan a tus expectativas:
    terraform plan

    Haga las correcciones necesarias en la configuración.

  2. Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo yes en la petición:
    terraform apply

    Espera hasta que Terraform muestre el mensaje "Apply complete!".

  3. Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, ve a tus recursos en la interfaz de usuario para asegurarte de que Terraform los ha creado o actualizado.

API

Llama al método tables.insert con un recurso de tabla definido. Incluya las etiquetas en el campo resource_tags.

Asignar etiquetas a una tabla ya creada

Una vez que hayas creado una etiqueta, puedes adjuntarla a una tabla. Solo puede asociar un valor de etiqueta a una tabla para una clave de etiqueta determinada.

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, expande tu proyecto y tu conjunto de datos y, a continuación, selecciona una tabla.

  3. Haga clic en la pestaña Detalles y, a continuación, en Editar detalles.

  4. Despliega la sección Etiquetas.

    1. Para aplicar una etiqueta ya creada, sigue estos pasos:

      1. Haz clic en la flecha desplegable situada junto a Seleccionar ámbito y elige una de las siguientes opciones: Ámbito actual: Seleccionar organización actual o Seleccionar proyecto actual.

        También puede hacer clic en Seleccionar ámbito para buscar un recurso o ver una lista de los recursos actuales.

      2. En Clave 1 y Valor 1, elija los valores adecuados de las listas.

    2. Para introducir manualmente una etiqueta nueva, sigue estos pasos:

      1. Haz clic en la flecha desplegable situada junto a Seleccionar un ámbito y elige Introducir IDs manualmente > Organización, Proyecto o Etiquetas.

      2. Si vas a crear una etiqueta para tu proyecto u organización, introduce el PROJECT_ID o el ORGANIZATION_ID en el cuadro de diálogo y, a continuación, haz clic en Guardar.

      3. En Clave 1 y Valor 1, elija los valores adecuados de las listas.

    3. Opcional: Para añadir más etiquetas a la tabla, haz clic en Añadir etiqueta y sigue los pasos anteriores.

  5. Haz clic en Guardar.

SQL

Usa la instrucción ALTER TABLE SET OPTIONS.

En el siguiente ejemplo se sobrescriben todas las etiquetas de una tabla.

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

    ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID
    SET OPTIONS (
      tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Haz los cambios siguientes:

    • PROJECT_ID: tu ID de proyecto.
    • DATASET_ID: el ID del conjunto de datos que contiene la tabla.
    • TABLE_ID: el nombre de la tabla que vas a etiquetar.
    • TAG_KEY_1: el nombre de clave con espacio de nombres que quieras definir como la primera etiqueta de la tabla. Por ejemplo, 'my-project/env' o '556741164180/department'.
    • TAG_VALUE_1: el nombre corto del valor de la etiqueta; por ejemplo, 'prod' o 'sales'.
    • TAG_KEY_2: el nombre de la clave con espacio de nombres de la segunda etiqueta.
    • TAG_VALUE_2: el nombre abreviado del valor de la segunda etiqueta.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

En el siguiente ejemplo se usa el operador += para adjuntar una etiqueta a una tabla sin sobrescribir las etiquetas que ya tenga. Si una etiqueta ya tiene esa clave, se sobrescribirá.

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

    ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID
    SET OPTIONS (
      tags += [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Haz los cambios siguientes:

    • PROJECT_ID: tu ID de proyecto.
    • DATASET_ID: el ID del conjunto de datos que contiene la tabla.
    • TABLE_ID: el nombre de la tabla que vas a etiquetar.
    • TAG_KEY_1: el nombre de clave con espacio de nombres que quieras definir como la primera etiqueta de la tabla. Por ejemplo, 'my-project/env' o '556741164180/department'.
    • TAG_VALUE_1: el nombre corto del valor de la etiqueta; por ejemplo, 'prod' o 'sales'.
    • TAG_KEY_2: el nombre de la clave con espacio de nombres de la segunda etiqueta.
    • TAG_VALUE_2: el nombre abreviado del valor de la segunda etiqueta.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Usa el comando bq update con la marca --add_tags:

bq update \
    --add_tags=TAG \
    PROJECT_ID:DATASET_ID.TABLE_ID

Haz los cambios siguientes:

  • TAG: la etiqueta que vas a adjuntar a la tabla. Las etiquetas se separan con comas. Por ejemplo, 556741164180/env:prod,myProject/department:sales. Cada etiqueta debe tener el nombre de clave con espacio de nombres y el nombre corto del valor.
  • PROJECT_ID: el ID del proyecto que contiene la tabla.
  • DATASET_ID: el ID del conjunto de datos que contiene tu tabla.
  • TABLE_ID: el ID de la tabla que vas a actualizar.

gcloud

Para asociar una etiqueta a una tabla mediante la línea de comandos, crea un recurso de enlace de etiqueta con el comando gcloud resource-manager tags bindings create:

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

Haz los cambios siguientes:

  • TAG_VALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se va a adjuntar, como tagValues/4567890123 o 1234567/my_tag_key/my_tag_value.
  • RESOURCE_ID: el ID completo de la tabla, 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/tables/my_table
  • LOCATION: la ubicación de la tabla.

Terraform

Añade etiquetas al campo resource_tags de la tabla y, a continuación, aplica la configuración actualizada con el recurso google_bigquery_table. Para obtener más información, consulta el ejemplo de Terraform en Asignar etiquetas al crear una tabla.

API

Llama al método tables.update con un recurso de tabla definido. Incluya las etiquetas en el campo resource_tags.

Mostrar las etiquetas asociadas a una tabla

Puedes enumerar las etiquetas que están asociadas directamente a una tabla. En este proceso no se muestran las etiquetas que se heredan de los recursos superiores.

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, expande tu proyecto y tu conjunto de datos y, a continuación, selecciona una tabla.

    Las etiquetas se muestran en la pestaña Detalles.

bq

Usa el comando bq show y busca la columna tags. Si no hay etiquetas en la tabla, no se muestra la columna tags.

bq show \
    PROJECT_ID:DATASET_ID.TABLE_ID

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto que contiene la tabla.
  • DATASET_ID: el ID del conjunto de datos que contiene tu tabla.
  • TABLE_ID: el ID de tu tabla.

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: el ID completo de la tabla, 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/tables/my_table.

  • LOCATION: la ubicación de tu conjunto de datos.

El resultado debería ser similar al siguiente:

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

Terraform

Usa el comando terraform state show para enumerar los atributos de la tabla, incluido el campo resource_tags. Ejecuta este comando en el directorio en el que se haya ejecutado el archivo de configuración de Terraform de la tabla.

terraform state show google_bigquery_table.default

API

Llama al método tables.get con un recurso de tabla definido y busca el campo resource_tags.

Vistas

Usa la vista INFORMATION_SCHEMA.TABLE_OPTIONS.

Por ejemplo, la siguiente consulta muestra todas las etiquetas asociadas a todas las tablas de un conjunto de datos. Esta consulta devuelve una tabla con columnas que incluyen schema_name (el nombre del conjunto de datos), option_name (siempre 'tags'), object_type (siempre ARRAY<STRUCT<STRING, STRING>>) y option_value, que contiene matrices de objetos STRUCT que representan las etiquetas asociadas a cada conjunto de datos. En las tablas sin etiquetas asignadas, la columna option_value devuelve un array vacío.

SELECT * from DATASET_ID.INFORMATION_SCHEMA.TABLE_OPTIONS
WHERE option_name='tags'

Sustituye DATASET_ID por el ID del conjunto de datos que contiene tu tabla.

Desasociar etiquetas de una tabla

Para quitar una asociación de etiquetas de una tabla, elimina la vinculación de etiquetas. Si vas a eliminar una etiqueta, debes desvincularla de la tabla antes de eliminarla. Para obtener más información, consulta Eliminar etiquetas.

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, expande tu proyecto y tu conjunto de datos y, a continuación, selecciona una tabla.

  3. Haga clic en la pestaña Detalles y, a continuación, en Editar detalles.

  4. En la sección Etiquetas, haz clic en Eliminar elemento junto a la etiqueta que quieras eliminar.

  5. Haz clic en Guardar.

SQL

Usa la instrucción ALTER TABLE SET OPTIONS.

En el siguiente ejemplo se desvinculan etiquetas de una tabla mediante el operador -=. Para desvincular todas las etiquetas de una tabla, puede especificar tags=NULL o tags=[].

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

    ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID
    SET OPTIONS (
      tags -= [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Haz los cambios siguientes:

    • PROJECT_ID: tu ID de proyecto.
    • DATASET_ID: el ID del conjunto de datos que contiene la tabla.
    • TABLE_ID: el nombre de la tabla de la que vas a desvincular las etiquetas.
    • TAG_KEY_1: el nombre de clave con espacio de nombres de la primera etiqueta que quieras separar. Por ejemplo, 'my-project/env' o '556741164180/department'.
    • TAG_VALUE_1: el nombre corto del valor de la etiqueta que quieres desvincular. Por ejemplo, 'prod' o 'sales'.
    • TAG_KEY_2: el nombre de la clave con espacio de nombres de la segunda etiqueta que vas a separar.
    • TAG_VALUE_2: el nombre abreviado del valor de la segunda etiqueta que vas a desvincular.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Para quitar algunas etiquetas de una tabla, usa el comando bq update con la marca --remove_tags:

bq update \
    --remove_tags=TAG_KEYS \
    PROJECT_ID:DATASET_ID.TABLE_ID

Haz los cambios siguientes:

  • TAG_KEYS: las claves de etiqueta que vas a separar de la tabla, separadas por comas. Por ejemplo, 556741164180/env,myProject/department. Cada clave de etiqueta debe tener el nombre de clave con espacio de nombres.
  • PROJECT_ID: el ID del proyecto que contiene la tabla.
  • DATASET_ID: el ID del conjunto de datos que contiene tu tabla.
  • TABLE_ID: el ID de la tabla que vas a actualizar.

Para quitar todas las etiquetas de una tabla, usa el comando bq update con la marca --clear_all_tags:

bq update \
    --clear_all_tags \
    PROJECT_ID:DATASET_ID.TABLE_ID

gcloud

Para quitar la asociación de una etiqueta de una tabla mediante la línea de comandos, elimina el enlace de la etiqueta con el comando gcloud resource-manager tags bindings delete:

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

Haz los cambios siguientes:

  • TAG_VALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se va a eliminar, como tagValues/4567890123 o 1234567/my_tag_key/my_tag_value.
  • RESOURCE_ID: el ID completo de la tabla, 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/tables/my_table.
  • LOCATION: la ubicación de tu conjunto de datos.

Terraform

Elimina las etiquetas del campo resource_tags de la tabla y, a continuación, aplica la configuración actualizada con el recurso google_bigquery_table.

API

Llama al método tables.update con un recurso de tabla definido y quita las etiquetas del campo resource_tags. Para quitar todas las etiquetas, elimina el campo resource_tags.

Etiquetar otros recursos similares a tablas

Del mismo modo, puedes etiquetar vistas, vistas materializadas, clones y copias de BigQuery.

Eliminar etiquetas

No puedes eliminar una etiqueta si una tabla, una vista o un conjunto de datos hace referencia a ella. Debe separar todos los recursos de vinculación de etiquetas antes de eliminar la clave o el valor de la etiqueta. Para eliminar claves y valores de etiquetas, consulta la sección Eliminar etiquetas.

Ejemplo

Supongamos que eres administrador de una organización. Todos tus analistas de datos son miembros del grupo analysts@example.com, que tiene el rol de gestión de identidades y accesos Lector de datos de BigQuery en el proyecto userData. Se contrata a un becario analista de datos y, según la política de la empresa, solo debería tener permiso para ver el conjunto de datos anonymousData del proyecto userData. Puedes controlar su acceso mediante etiquetas.

  1. Crea una etiqueta con la clave employee_type y el valor intern:

    Ejemplo de creación de una clave y valores de etiqueta.

  2. En la consola, ve a la página Gestión de identidades y accesos. Google Cloud

    Ir a IAM

  3. Busque la fila que contiene al interno cuyo acceso al conjunto de datos quiera restringir y haga clic en Editar principal en esa fila.

  4. En el menú Rol, selecciona Lector de datos de BigQuery.

  5. Haz clic en Añadir condición.

  6. En los campos Título y Descripción, introduce valores que describan la condición de la etiqueta de gestión de identidades y accesos que quieras crear.

  7. En la pestaña Creador de condiciones, haz clic en Añadir.

  8. En el menú Tipo de condición, selecciona Recurso y, a continuación, Etiqueta.

  9. En el menú Operador, selecciona tiene valor.

  10. En el campo Ruta del valor, introduce la ruta del valor de la etiqueta con el formato ORGANIZATION/TAG_KEY/TAG_VALUE. Por ejemplo, example.org/employee_type/intern.

    Ejemplo de una condición de IAM que usa etiquetas.

    Esta condición de etiqueta de gestión de identidades y accesos restringe el acceso del becario a los conjuntos de datos que tienen la etiqueta intern.

  11. Para guardar la condición de la etiqueta, haga clic en Guardar.

  12. Para guardar los cambios que hayas hecho en el panel Editar permisos, haz clic en Guardar.

  13. Para asociar el valor de la etiqueta intern al conjunto de datos anonymousData, usa la línea de comandos para ejecutar el comando gcloud resource-manager tags bindings create. Por ejemplo:

    gcloud resource-manager tags bindings create \
        --tag-value=tagValues/4567890123 \
        --parent=//bigquery.googleapis.com/projects/userData/datasets/anonymousData \
        --location=US
    

Siguientes pasos