Administrar etiquetas de política en las ubicaciones

En este documento, se describe cómo administrar etiquetas de política en ubicaciones regionales para la seguridad a nivel de columna y el enmascaramiento de datos dinámico en BigQuery.

BigQuery proporciona un control de acceso detallado y el enmascaramiento de datos dinámico para columnas de tablas sensibles con etiquetas de política, lo que admite una clasificación de datos basada en tipos.

Después de crear una taxonomía de clasificación de datos y aplicar etiquetas de política a tus datos, puedes administrar aún más las etiquetas de política en las ubicaciones.

Consideraciones de ubicación

Las taxonomías son recursos regionales, como los conjuntos de datos y las tablas de BigQuery. Cuando creas una taxonomía, especificas la región, o ubicación, para la taxonomía.

Puedes crear una taxonomía y aplicar etiquetas de política a las tablas en todas las regiones donde BigQuery está disponible. Sin embargo, para aplicar etiquetas de política de una taxonomía a una columna de tabla, la taxonomía y la tabla deben existir en la misma ubicación regional.

Aunque no puedes aplicar una etiqueta de política a una columna de tabla que existe en una ubicación diferente, puedes copiar la taxonomía a otra ubicación si la replicas explícitamente allí.

Usa taxonomías en distintas ubicaciones

Puedes copiar (o replicar) de forma explícita una taxonomía y sus definiciones de etiqueta de política en ubicaciones adicionales sin tener que crear de forma manual una taxonomía nueva en cada ubicación. Cuando replicas taxonomías, puedes usar las mismas etiquetas de política para la seguridad a nivel de la columna en varias ubicaciones, lo que simplifica su administración.

Cuando los se replican, las etiquetas de taxonomía y política conservan los mismos ID en cada ubicación.

La taxonomía y las etiquetas de política se pueden volver a sincronizar para mantenerlas unificadas en varias ubicaciones. La replicación explícita de una taxonomía la permite una llamada a la API de Data Catalog. Las sincronizaciones futuras de la taxonomía replicada usan el mismo comando de API, que reemplaza la taxonomía anterior.

Para facilitar la sincronización de la taxonomía, puedes usar Cloud Scheduler para realizar periódicamente una sincronización de la taxonomía en varias regiones, ya sea según un programa establecido o con un envío manual de botones. Para usar Cloud Scheduler, debes configurar una cuenta de servicio.

Replica una taxonomía en una ubicación nueva

Permisos necesarios

Las credenciales de usuario o cuenta de servicio que replican la taxonomía deben tener la función de administrador de etiquetas de política de Data Catalog.

Obtén más información para otorgar la función de administrador de etiquetas de política en Restringe el acceso con la seguridad a nivel de la columna de BigQuery.

Para obtener más información sobre las funciones y los permisos de IAM en BigQuery, consulta Funciones y permisos predefinidos.

Para replicar una taxonomía en todas las ubicaciones, sigue estos pasos:

API

Llama al método projects.locations.taxonomies.import de la API de Data Catalog y proporciona una solicitud POST y el nombre del proyecto de destino y la ubicación en la string HTTP.

POST https://datacatalog.googleapis.com/{parent}/taxonomies:import

El parámetro de ruta parent es el proyecto y la ubicación de destino en los que deseas copiar la taxonomía. Ejemplo: projects/MyProject/locations/eu

Sincroniza una taxonomía replicada

Para sincronizar una taxonomía que ya se replica en todas las ubicaciones, repite la llamada a la API de Data Catalog como se describe en Replica una taxonomía en una ubicación nueva.

Como alternativa, puedes usar una cuenta de servicio y Cloud Scheduler para sincronizar la taxonomía según un programa específico. Configurar una cuenta de servicio en Cloud Scheduler también te permite activar una sincronización a pedido (no programada) a través de la página de Cloud Scheduler en la consola de Google Cloud o con Google Cloud CLI.

Sincroniza una taxonomía replicada con Cloud Scheduler

Para sincronizar una taxonomía replicada en ubicaciones con Cloud Scheduler, necesitas una cuenta de servicio.

Cuentas de servicio

Puedes otorgar permisos para la sincronización de replicación con una cuenta de servicio existente o puedes crear una cuenta de servicio nueva.

Para crear una cuenta de servicio nueva, consulta Crea cuentas de servicio.

Permisos necesarios

  1. La cuenta de servicio que sincroniza la taxonomía debe tener la función de administrador de etiquetas de política de Data Catalog. Para obtener más información, consulta Otorga la función de administrador de etiquetas de política.

  2. Habilita la API de Cloud Scheduler.

Configura una sincronización de taxonomía con Cloud Scheduler

Para sincronizar una taxonomía replicada en ubicaciones con Cloud Scheduler, haz lo siguiente:

Console

Primero, crea el trabajo de sincronización y su programación.

  1. Sigue las instrucciones para crear un trabajo en Cloud Scheduler.

  2. En Frecuencia, completa el intervalo que deseas entre las sincronizaciones automáticas.

  3. En el caso de Destino, consulta las instrucciones en Crea un trabajo de programador con autenticación.

    Crea un trabajo de programador, parte 2

A continuación, agrega la autenticación necesaria para la sincronización programada.

  1. Haz clic en MOSTRAR MÁS para ver los campos de autenticación.

  2. En Encabezado de autenticación, selecciona “Agregar token OAuth”.

  3. Agrega la información de tu cuenta de servicio.

  4. Para el Permiso, ingresa "https://www.googleapis.com/auth/cloud-platform".

  5. Haz clic en Crear para guardar la sincronización programada.

    Crea un trabajo de programador, parte 2

Ahora, verifica que el trabajo esté configurado correctamente.

  1. Después de crear el trabajo, haz clic en Ejecutar ahora para probar que el trabajo esté configurado de forma correcta. Luego, Cloud Scheduler activará la solicitud HTTP según la programación que especificaste.

    Prueba un trabajo de Scheduler

gcloud

Sintaxis:

  gcloud scheduler jobs create http "JOB_ID" --schedule="FREQUENCY" --uri="URI" --oath-service-account-email="CLIENT_SERVICE_ACCOUNT_EMAIL" --time-zone="TIME_ZONE" --message-body-from-file="MESSAGE_BODY"
  

Reemplaza lo siguiente:

  1. ${JOB_ID} es el nombre para el trabajo. Debe ser único en el proyecto. Ten en cuenta que no puedes reutilizar un nombre de trabajo en un proyecto, incluso si borras su trabajo asociado.
  2. ${FREQUENCY} es la programación, también llamada intervalo de trabajo, con la frecuencia con la que se debe ejecutar el trabajo. Por ejemplo, “cada 3 horas”. La string que proporcionas puede ser cualquier string compatible con crontab. Como alternativa, los desarrolladores familiarizados con el cron heredado de App Engine pueden usar la sintaxis de Cron de App Engine.
  3. ${URI} es la URL completamente calificada del extremo.
  4. --oauth-service-account-email define el tipo de token. Ten en cuenta que las API de Google alojadas en *.googleapis.com esperan un token de OAuth.
  5. ${CLIENT_SERVICE_ACCOUNT_EMAIL} es el correo electrónico de la cuenta de servicio.
  6. ${MESSAGE_BODY} es la ruta al archivo que contiene el cuerpo de la solicitud POST.

Hay otros parámetros de opción disponibles, que se describen en la referencia de Google Cloud CLI.

Ejemplo:

  gcloud scheduler jobs create http cross_regional_copy_to_eu_scheduler --schedule="0 0 1 * *" --uri="https://datacatalog.googleapis.com/v1/projects/my-project/locations/eu/taxonomies:import" --oauth-service-account-email="policytag-manager-service-acou@my-project.iam.gserviceaccount.com" --time-zone="America/Los_Angeles" --message-body-from-file=request_body.json
  

¿Qué sigue?