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 manera 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
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.
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.
Sigue las instrucciones para crear un trabajo en Cloud Scheduler.
En Frecuencia, completa el intervalo que deseas entre las sincronizaciones automáticas.
En el caso de Destino, consulta las instrucciones en Crea un trabajo de programador con autenticación.
A continuación, agrega la autenticación necesaria para la sincronización programada.
Haz clic en MOSTRAR MÁS para ver los campos de autenticación.
En Encabezado de autenticación, selecciona “Agregar token OAuth”.
Agrega la información de tu cuenta de servicio.
Para el Permiso, ingresa "https://www.googleapis.com/auth/cloud-platform".
Haz clic en Crear para guardar la sincronización programada.
Ahora, verifica que el trabajo esté configurado correctamente.
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.
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:
${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.${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.${URI}
es la URL completamente calificada del extremo.--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.${CLIENT_SERVICE_ACCOUNT_EMAIL}
es el correo electrónico de la cuenta de servicio.${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?
- Para obtener una descripción general de la seguridad a nivel de las columnas con etiquetas de política, consulta Introducción a la seguridad a nivel de columnas de BigQuery.
- Si quieres obtener más información para crear y aplicar etiquetas de política, consulta Restringe el acceso con la seguridad a nivel de la columna de BigQuery.
- Para obtener más información sobre el impacto en las operaciones de escritura cuando usas la seguridad a nivel de la columna de BigQuery, consulta Impacto en las operaciones de escritura con la seguridad a nivel de la columna de BigQuery.
- Si quieres obtener información acerca de las prácticas recomendadas para usar etiquetas de política, consulta Usa etiquetas de política en BigQuery.