Integra BigQuery con Google SecOps
En este documento, se explica cómo integrar BigQuery en Google Security Operations.
Casos de uso
La integración de BigQuery usa las funciones de Google SecOps para admitir los siguientes casos de uso:
Enriquecimiento de la inteligencia contra amenazas: Enriquece automáticamente las alertas de seguridad con datos de inteligencia contra amenazas almacenados en BigQuery para evaluar la gravedad y la credibilidad de las amenazas potenciales.
Análisis del comportamiento de los usuarios: Identifica la actividad anómala de los usuarios analizando los registros históricos almacenados en BigQuery para detectar amenazas internas y cuentas hackeadas.
Análisis de data lake de seguridad: Usa las capacidades de consulta de BigQuery para analizar grandes volúmenes de datos de seguridad agregados de varias fuentes para mejorar la búsqueda de amenazas.
Análisis avanzado de AA/IA: Crea modelos personalizados para la defensa predictiva y la puntuación de riesgo automatizada con datos de seguridad históricos y BigQuery ML.
Retención de datos a largo plazo: Archiva los datos de incidentes resueltos en BigQuery para un almacenamiento rentable a largo plazo, lo que respalda el cumplimiento y las auditorías forenses.
Antes de comenzar
Antes de configurar la integración de BigQuery en Google SecOps, completa los siguientes pasos de requisitos previos:
Otorga los roles de Identity and Access Management necesarios a tu cuenta de servicio.
Elige y configura uno de los siguientes métodos de autenticación:
Opción 1: Workload Identity (recomendado): Este método usa tokens de acceso temporales de corta duración con la identidad temporal como cuenta de servicio.
Opción 2: Clave JSON de la cuenta de servicio: Este método se basa en un archivo de clave secreta estático y de larga duración.
Asigna roles de IAM
Si otorgas los permisos necesarios a tu cuenta de servicio, la integración podrá ejecutar trabajos y acceder a tus datos. Los siguientes roles estándar los administra Google Cloud y se actualizan automáticamente si cambian los requisitos de la API. Para asignar estos roles a tu cuenta de servicio, completa los siguientes pasos:
En la consola de Google Cloud , ve a IAM.
Ubica tu cuenta de servicio en la lista de principales y haz clic en Editar principal (edit).
Haz clic en Agregar otro rol y selecciona lo siguiente:
Usuario de BigQuery (
roles/bigquery.user): Permite que la integración ejecute trabajos, incluidas las consultas, dentro del proyecto.Visualizador de datos de BigQuery (
roles/bigquery.dataViewer): Permite que la integración lea datos y metadatos de conjuntos de datos y tablas.Consumidor de Service Usage (
roles/serviceusage.serviceUsageConsumer): Es obligatorio si configurasQuota Project IDen los parámetros de configuración de la integración.
Haz clic en Guardar.
Crea una cuenta de servicio
En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio.
Haz clic en addCrear cuenta de servicio.
Proporciona un nombre y una descripción, y haz clic en Crear y continuar.
En el paso Otorga acceso al proyecto a esta cuenta de servicio, agrega los roles identificados en el paso anterior.
Haz clic en Listo. Toma nota de la dirección de correo electrónico de la cuenta de servicio.
Configura las credenciales de Workload Identity
Workload Identity es el enfoque recomendado, ya que usa tokens de acceso de corta duración con la identidad temporal como cuenta de servicio.
Identifica la identidad única de la instancia
Para establecer una conexión, debes otorgar permiso a tu instancia de Google SecOps para que use la identidad de tu cuenta de servicio.
En Google SecOps, ve a Centro de contenido > Integraciones de respuesta.
Selecciona la integración de BigQuery y, luego, ingresa el correo electrónico de tu cuenta de servicio en el campo
Workload Identity Email.Haz clic en Guardar > Probar. Se espera que la prueba falle.
Haz clic en el botón close_small junto a Prueba y busca el correo electrónico de identidad que comienza con
gke-init-python@...osoar-python@....Copia esta dirección de correo electrónico única.
Autoriza la identidad de la instancia en Google Cloud
En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio.
Selecciona la cuenta de servicio de destino y ve a Permisos > Otorgar acceso.
Pega la dirección de correo electrónico única en el campo Principales nuevas y asigna el rol de Creador de tokens de cuenta de servicio (
roles/iam.serviceAccountTokenCreator).
Configura una clave JSON
Los archivos de claves secretas estáticas y de larga duración requieren una rotación manual. Usa este método solo si la autenticación de Workload Identity no está disponible.
En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio y selecciona tu cuenta de servicio.
Ve a la pestaña Claves y haz clic en Agregar clave > Crear clave nueva.
Selecciona JSON y haz clic en Crear. El archivo se descargará automáticamente en tu computadora.
Configura parámetros individuales de forma manual
Si eliges ingresar las credenciales de forma manual, mantén abierto el archivo de claves JSON descargado en un editor de texto para copiar los valores individuales que se requieren en la configuración de la integración.
Parámetros de integración
Para establecer una conexión entre Google SecOps y BigQuery, debes configurar los siguientes parámetros. La integración admite tres rutas de autenticación distintas. Elige uno de los siguientes métodos para proporcionar credenciales.
Workload Identity: Usa
Workload Identity EmailyQuota Project ID.Archivo JSON de la cuenta de servicio: Usa
Service Account Json File Contentpara proporcionar la clave completa de una sola vez.Parámetros individuales manuales: Usa campos separados copiados manualmente de una clave JSON.
| Parámetro | Descripción |
|---|---|
API Root |
Es opcional. Es la raíz de la API de la instancia de BigQuery (por ejemplo,
|
Workload Identity Email |
Es opcional. Es la dirección de correo electrónico del cliente de tu cuenta de servicio. Usa esto para la autenticación de Workload Identity. |
Service Account Json File Content |
Es opcional. Es el contenido completo del archivo JSON de la clave de la cuenta de servicio. Si configuras este parámetro, la integración ignora los parámetros de credenciales individuales. |
Quota Project ID |
Es opcional. Es el ID del proyecto que se usa para el uso y la facturación de la API. Este parámetro es obligatorio cuando se usa la autenticación de Workload Identity. |
Project ID |
Es opcional. Es el ID del proyecto al que se orientará en BigQuery. |
Verify SSL |
Obligatorio. Valida el certificado SSL para la conexión. Habilitada de forma predeterminada. |
Parámetros de credenciales individuales
Usa los siguientes parámetros solo si ingresas las credenciales de forma manual, en lugar de usar el contenido completo del archivo JSON o una Workload Identity.
| Parámetro | Descripción |
|---|---|
Account Type |
Es opcional. Es el valor que se encuentra en el campo |
Private Key ID |
Es opcional. Es el valor que se encuentra en el campo |
Private Key |
Es opcional. Es el valor que se encuentra en el campo |
Client Email |
Es opcional. Es el valor que se encuentra en el campo |
Client ID |
Es opcional. Es el valor que se encuentra en el campo |
Auth URI |
Es opcional. Es el valor que se encuentra en el campo El valor predeterminado es |
Token URI |
Es opcional. Es el valor que se encuentra en el campo El valor predeterminado es |
Auth Provider X509 URL |
Es opcional. Es el valor que se encuentra en el
campo |
Client X509 URL |
Es opcional. Es el valor que se encuentra en el campo |
Para obtener instrucciones sobre cómo configurar una integración en Google SecOps, consulta Configura integraciones.
Si es necesario, puedes realizar cambios más adelante. Después de configurar una instancia de integración, puedes usarla en las guías. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Cómo admitir varias instancias.
Acciones
Para obtener más información sobre las acciones, consulta Responde a las acciones pendientes desde tu escritorio y Ejecuta una acción manual en tu caso.
Ping
Usa la acción Ping para probar la conectividad a BigQuery.
Esta acción no se ejecuta en las entidades de Google SecOps.
Entradas de acción
Ninguno
Resultados de la acción
La acción Ping proporciona los siguientes resultados:
| Tipo de resultado de la acción | Disponibilidad |
|---|---|
| Archivo adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | No disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Mensajes de salida
La acción Ping puede devolver los siguientes mensajes de resultado:
| Mensaje de salida | Descripción del mensaje |
|---|---|
Successfully connected to the Google BigQuery server with
the provided connection parameters! |
La acción se realizó correctamente. |
Failed to connect to the Google BigQuery server! Error is
ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión con el servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se indica el valor del resultado de la secuencia de comandos cuando se usa la acción Ping:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
Ejecuta una consulta personalizada
Usa la acción Ejecutar consulta personalizada para ejecutar consultas personalizadas en BigQuery.
Esta acción no se ejecuta en las entidades de Google SecOps.
Entradas de acción
La acción Ejecutar consulta personalizada requiere los siguientes parámetros:
| Parámetros | Descripción |
|---|---|
Query |
Obligatorio. Es la consulta en SQL que se ejecutará. |
Max Results To Return |
Es opcional. Es la cantidad de resultados que se mostrarán para cada respuesta. El valor predeterminado es |
Resultados de la acción
La acción Ejecutar consulta personalizada proporciona los siguientes resultados:
| Tipo de resultado de la acción | Disponibilidad |
|---|---|
| Archivo adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | Disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Resultado de JSON
En el siguiente ejemplo, se muestra el resultado JSON que se recibe cuando se usa la acción Ejecutar consulta personalizada:
{
"Airport_Code": "CODE",
"Airport_Name": "NAME",
"Time_Label": "2015/05",
"Time_Month": 5,
"Time_Month_Name": "May",
"Time_Year": 2015,
"Statistics___of_Delays_Carrier": 351,
"Statistics___of_Delays_Late_Aircraft": 546,
"Statistics___of_Delays_National_Aviation_System": 292,
"Statistics___of_Delays_Security": 2,
"Statistics___of_Delays_Weather": 100,
"Statistics_Carriers_Names": "Example Air Lines Inc., Example Airlines Co.",
"Statistics_Carriers_Total": 3,
"Statistics_Flights_Cancelled": 88,
"Statistics_Flights_Delayed": 1289,
"Statistics_Flights_Diverted": 32,
"Statistics_Flights_On_Time": 6182,
"Statistics_Flights_Total": 7591,
"Statistics_Minutes_Delayed_Carrier": 19332,
"Statistics_Minutes_Delayed_Late_Aircraft": 34376,
"Statistics_Minutes_Delayed_National_Aviation_System": 12346,
"Statistics_Minutes_Delayed_Security": 48,
"Statistics_Minutes_Delayed_Total": 76163,
"Statistics_Minutes_Delayed_Weather": 100061
}
Mensajes de salida
La acción Ejecutar consulta personalizada puede devolver los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
Successfully executed query in Google BigQuery! |
La acción se realizó correctamente. |
Error executing action "Run Custom Query". Reason:
ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión con el servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se muestra el valor del resultado de la secuencia de comandos cuando se usa la acción Ejecutar consulta personalizada:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
Ejecuta una consulta en SQL
Usa la acción Ejecutar consulta en SQL para ejecutar consultas en BigQuery.
Esta acción no se ejecuta en las entidades de Google SecOps.
Entradas de acción
La acción Ejecutar consulta en SQL requiere los siguientes parámetros:
| Parámetros | Descripción |
|---|---|
Dataset Name |
Obligatorio. Es el nombre del conjunto de datos que se usará cuando se ejecuten las consultas. |
Query |
Obligatorio. Es la consulta en SQL que se ejecutará. |
Max Results To Return |
Es opcional. Es la cantidad de resultados que se mostrarán para cada respuesta. El valor predeterminado es |
Resultados de la acción
La acción Ejecutar consulta en SQL proporciona los siguientes resultados:
| Tipo de resultado de la acción | Disponibilidad |
|---|---|
| Archivo adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | No disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Resultado de JSON
En el siguiente ejemplo, se describe el resultado JSON que se recibe cuando se usa la acción Ejecutar consulta en SQL:
{
"Airport_Code": "CODE",
"Airport_Name": "NAME",
"Time_Label": "2015/05",
"Time_Month": 5,
"Time_Month_Name": "May",
"Time_Year": 2015,
"Statistics___of_Delays_Carrier": 351,
"Statistics___of_Delays_Late_Aircraft": 546,
"Statistics___of_Delays_National_Aviation_System": 292,
"Statistics___of_Delays_Security": 2,
"Statistics___of_Delays_Weather": 100,
"Statistics_Carriers_Names": "Example Airlines Inc.,Example Airlines Co.",
"Statistics_Carriers_Total": 3,
"Statistics_Flights_Cancelled": 88,
"Statistics_Flights_Delayed": 1289,
"Statistics_Flights_Diverted": 32,
"Statistics_Flights_On_Time": 6182,
"Statistics_Flights_Total": 7591,
"Statistics_Minutes_Delayed_Carrier": 19332,
"Statistics_Minutes_Delayed_Late_Aircraft": 34376,
"Statistics_Minutes_Delayed_National_Aviation_System": 12346,
"Statistics_Minutes_Delayed_Security": 48,
"Statistics_Minutes_Delayed_Total": 76163,
"Statistics_Minutes_Delayed_Weather": 100061
}
Mensajes de salida
La acción Ejecutar consulta en SQL puede devolver los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
Successfully executed query in the BigQuery dataset
DATASET_NAME. |
La acción se realizó correctamente. |
Error executing action "Run SQL Query". Reason:
ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión con el servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se muestra el valor del resultado de la secuencia de comandos cuando se usa la acción Ejecutar consulta en SQL:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.