En este tema, aprenderás cómo implementar auditoría y monitoreo en BigQuery para asegurar la integridad, seguridad y eficiencia de tus datos y consultas. La auditoría y el monitoreo son componentes esenciales para mantener un entorno de datos seguro y optimizado.
Conceptos Clave
- Auditoría: Proceso de registrar y analizar las actividades realizadas en BigQuery para asegurar el cumplimiento de políticas y detectar actividades sospechosas.
- Monitoreo: Supervisión continua de las operaciones y el rendimiento de BigQuery para identificar y resolver problemas de manera proactiva.
Auditoría en BigQuery
- Habilitación de Auditoría
Google Cloud proporciona registros de auditoría a través de Cloud Audit Logs. Estos registros capturan todas las actividades administrativas y de acceso a datos en BigQuery.
Pasos para habilitar la auditoría:
- Accede a la consola de Google Cloud.
- Navega a "Logging" en el menú de navegación.
- Selecciona "Logs Router" para configurar los destinos de los registros.
- Configura los registros de auditoría para que se envíen a un bucket de Cloud Storage, un tema de Pub/Sub o una tabla de BigQuery.
- Tipos de Registros de Auditoría
- Registros de Actividad Administrativa: Capturan operaciones administrativas como la creación o eliminación de conjuntos de datos y tablas.
- Registros de Acceso a Datos: Capturan operaciones de lectura y escritura de datos, como consultas y cargas de datos.
- Consultar Registros de Auditoría
Puedes usar BigQuery para consultar los registros de auditoría almacenados en tablas de BigQuery.
SELECT protopayload_auditlog.methodName, protopayload_auditlog.resourceName, protopayload_auditlog.authenticationInfo.principalEmail, timestamp FROM `my_project.my_dataset.cloudaudit_googleapis_com_data_access` WHERE protopayload_auditlog.methodName = "jobservice.jobcompleted" ORDER BY timestamp DESC LIMIT 100;
Explicación del Código:
protopayload_auditlog.methodName
: Método de la API que se invocó.protopayload_auditlog.resourceName
: Recurso en el que se realizó la operación.protopayload_auditlog.authenticationInfo.principalEmail
: Usuario que realizó la operación.timestamp
: Momento en que se realizó la operación.
Monitoreo en BigQuery
- Habilitación de Monitoreo
Google Cloud Monitoring proporciona herramientas para supervisar el rendimiento y la disponibilidad de BigQuery.
Pasos para habilitar el monitoreo:
- Accede a la consola de Google Cloud.
- Navega a "Monitoring" en el menú de navegación.
- Configura un "Workspace" para tu proyecto.
- Crea dashboards y alertas para supervisar métricas clave.
- Métricas Clave para Monitorear
- Uso de CPU y Memoria: Para identificar cuellos de botella en el rendimiento.
- Latencia de Consultas: Para asegurar que las consultas se ejecutan en un tiempo razonable.
- Errores de Consultas: Para detectar y resolver problemas en las consultas.
- Configuración de Alertas
Configura alertas para recibir notificaciones cuando las métricas superen ciertos umbrales.
Ejemplo de Configuración de Alerta:
- Accede a "Monitoring" y selecciona "Alerting".
- Crea una política de alerta.
- Define una condición basada en una métrica, como la latencia de consultas.
- Configura las notificaciones para recibir alertas por correo electrónico o a través de otros canales.
Ejercicio Práctico
Ejercicio 1: Consultar Registros de Auditoría
- Objetivo: Consultar los registros de auditoría para identificar las operaciones de consulta realizadas en las últimas 24 horas.
- Instrucciones:
- Accede a la consola de BigQuery.
- Ejecuta la siguiente consulta:
SELECT protopayload_auditlog.methodName, protopayload_auditlog.resourceName, protopayload_auditlog.authenticationInfo.principalEmail, timestamp FROM `my_project.my_dataset.cloudaudit_googleapis_com_data_access` WHERE protopayload_auditlog.methodName = "jobservice.jobcompleted" AND timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) ORDER BY timestamp DESC;
Ejercicio 2: Configurar una Alerta de Latencia de Consultas
- Objetivo: Configurar una alerta para recibir notificaciones si la latencia de consultas supera los 5 segundos.
- Instrucciones:
- Accede a Google Cloud Monitoring.
- Crea una política de alerta con la métrica
query_latency
. - Define un umbral de 5 segundos.
- Configura las notificaciones para recibir alertas por correo electrónico.
Conclusión
En esta sección, has aprendido cómo habilitar y utilizar la auditoría y el monitoreo en BigQuery para asegurar la integridad y el rendimiento de tus datos y consultas. La auditoría te permite rastrear y analizar las actividades en BigQuery, mientras que el monitoreo te ayuda a supervisar el rendimiento y detectar problemas de manera proactiva. Con estas herramientas, puedes mantener un entorno de datos seguro y eficiente.
En el próximo tema, exploraremos el Cumplimiento y Mejores Prácticas en BigQuery para asegurar que tu entorno de datos cumpla con las normativas y estándares de la industria.
Curso de BigQuery
Módulo 1: Introducción a BigQuery
- ¿Qué es BigQuery?
- Configuración de tu Entorno de BigQuery
- Entendiendo la Arquitectura de BigQuery
- Visión General de la Consola de BigQuery
Módulo 2: SQL Básico en BigQuery
Módulo 3: SQL Intermedio en BigQuery
Módulo 4: SQL Avanzado en BigQuery
- Joins Avanzados
- Campos Anidados y Repetidos
- Funciones Definidas por el Usuario (UDFs)
- Particionamiento y Agrupamiento
Módulo 5: Gestión de Datos en BigQuery
- Cargando Datos en BigQuery
- Exportando Datos desde BigQuery
- Transformación y Limpieza de Datos
- Gestión de Conjuntos de Datos y Tablas
Módulo 6: Optimización del Rendimiento de BigQuery
- Técnicas de Optimización de Consultas
- Entendiendo los Planes de Ejecución de Consultas
- Uso de Vistas Materializadas
- Optimización del Almacenamiento
Módulo 7: Seguridad y Cumplimiento en BigQuery
- Control de Acceso y Permisos
- Encriptación de Datos
- Auditoría y Monitoreo
- Cumplimiento y Mejores Prácticas
Módulo 8: Integración y Automatización de BigQuery
- Integración con Servicios de Google Cloud
- Uso de BigQuery con Dataflow
- Automatización de Flujos de Trabajo con Cloud Functions
- Programación de Consultas con Cloud Scheduler
Módulo 9: Machine Learning en BigQuery (BQML)
- Introducción a BigQuery ML
- Creación y Entrenamiento de Modelos
- Evaluación y Predicción con Modelos
- Características Avanzadas de BQML