Integrar BigQuery con Google SecOps

En este documento se explica cómo integrar BigQuery con Google Security Operations (Google SecOps).

.

Versión de integración: 15.0

Esta integración usa uno o varios componentes de código abierto. Puedes descargar una copia comprimida del código fuente de esta integración desde un segmento de Cloud Storage.

Casos prácticos

En la plataforma Google SecOps, la integración de BigQuery puede ayudarte a resolver los siguientes casos prácticos:

  • Enriquecimiento de la información sobre amenazas: enriquece automáticamente las alertas de seguridad con datos de inteligencia sobre amenazas almacenados en BigQuery para evaluar la gravedad y la credibilidad de las posibles amenazas.

    Por ejemplo, puede configurar Google SecOps para que consulte una tabla de BigQuery que contenga direcciones IP maliciosas conocidas cada vez que una dirección IP sospechosa active una alerta. Google SecOps busca una coincidencia en la tabla de BigQuery y obtiene contexto adicional, como las familias de malware asociadas.

  • Análisis del comportamiento de los usuarios: identifica la actividad anómala de los usuarios analizando los registros de actividad históricos de los usuarios almacenados en BigQuery para detectar amenazas internas y cuentas vulneradas.

    Por ejemplo, puedes configurar Google SecOps para que consulte BigQuery en busca de intentos de inicio de sesión que se produzcan fuera de la geolocalización habitual de un usuario y activar una respuesta automática ante incidentes si se detecta una actividad sospechosa.

  • Análisis de lagos de datos de seguridad: usa las funciones de consulta de BigQuery para analizar grandes volúmenes de datos de seguridad de varias fuentes agregados en un lago de datos para mejorar la búsqueda de amenazas y la investigación de incidentes.

    Por ejemplo, puedes configurar Google SecOps para que consulte en BigQuery todos los eventos relacionados con un hash de archivo específico en varios registros de herramientas de seguridad almacenados en el lago de datos.

  • Conservación de datos de seguridad a largo plazo: usa el almacenamiento de BigQuery para conservar grandes volúmenes de registros de seguridad durante periodos prolongados y, de esta forma, poder realizar análisis históricos, generar informes de cumplimiento y llevar a cabo investigaciones forenses.

    Por ejemplo, puede configurar Google SecOps para que archive automáticamente los datos de incidentes resueltos en BigQuery para almacenarlos a largo plazo y ayudar a garantizar la disponibilidad de los datos para futuras auditorías o investigaciones.

Antes de empezar

Para usar la integración, necesitas una Google Cloud cuenta de servicio.

Crear y configurar una cuenta de servicio

Para integrar BigQuery con Google SecOps, puedes usar una cuenta de servicio que ya tengas o crear una. Para obtener instrucciones sobre cómo crear una cuenta de servicio, consulta el artículo Crear cuentas de servicio.

Si no usas un correo de identidad de carga de trabajo para configurar la integración, crea una clave de cuenta de servicio en JSON después de crear una cuenta de servicio. Debes proporcionar todo el contenido del archivo de clave JSON descargado al configurar los parámetros de integración.

Por motivos de seguridad, te recomendamos que utilices direcciones de correo de identidad de carga de trabajo en lugar de claves JSON de cuentas de servicio. Para obtener más información sobre las identidades de carga de trabajo, consulta Identidades de cargas de trabajo.

Parámetros de integración

La integración de BigQuery requiere los siguientes parámetros:

Parámetros Descripción
Account Type

Opcional.

El tipo de cuenta de BigQuery.

Proporciona el valor que se ha definido en el parámetro type del archivo JSON de la clave de cuenta de servicio.

El valor predeterminado es service_account.

Project ID

Opcional.

El ID del proyecto de la cuenta de BigQuery.

Proporciona el valor que se ha definido en el parámetro project_id del archivo JSON de autenticación.

Private Key ID

Opcional.

El ID de clave privada de la cuenta de BigQuery.

Proporciona el valor que se ha definido en el parámetro private_key_id del archivo JSON de autenticación.

Private Key

Opcional.

La clave privada de la cuenta de BigQuery.

Proporciona el valor que se ha definido en el parámetro private_key del archivo JSON de autenticación.

Client Email

Opcional.

Dirección de correo del cliente de la cuenta de BigQuery.

Proporciona el valor que se ha definido en el parámetro client_email del archivo JSON de autenticación.

Client ID

Opcional.

El ID de cliente de la cuenta de BigQuery.

Proporciona el valor que se ha definido en el parámetro client_id del archivo JSON de autenticación.

Auth URI

Opcional.

URI de autenticación de la cuenta de BigQuery.

Proporciona el valor que se ha definido en el parámetro auth_uri del archivo JSON de autenticación.

El valor predeterminado es https://accounts.google.com/o/oauth2/auth.

Token URI

Opcional.

El URI del token de la cuenta de BigQuery.

Proporciona el valor que se ha definido en el parámetro token_uri del archivo JSON de autenticación.

El valor predeterminado es https://oauth2.googleapis.com/token.

Auth Provider X509 URL

Opcional.

URL X.509 del proveedor de autenticación de la cuenta de BigQuery.

Proporciona el valor que se ha definido en el parámetro auth_provider_x509_cert_url del archivo JSON de autenticación.

El valor predeterminado es https://www.googleapis.com/oauth2/v1/certs.

Client X509 URL

Opcional.

URL X.509 del cliente de la cuenta de BigQuery.

Proporciona el valor que se ha definido en el parámetro client_x509_cert_url del archivo JSON de autenticación.

El valor predeterminado es https://www.googleapis.com/oauth2/v1/certs.

Service Account Json File Content

Opcional.

El contenido del archivo JSON de la clave de la cuenta de servicio.

Puede configurar este parámetro o el parámetro Workload Identity Email, o bien definir todos los parámetros de integración anteriores.

Para configurar este parámetro, proporciona el contenido completo del archivo JSON de la clave de la cuenta de servicio que has descargado al crear una cuenta de servicio.

Si configura este parámetro, la integración ignorará otros parámetros de conexión.

Workload Identity Email

Opcional.

La dirección de correo del cliente de tu cuenta de servicio.

Puede configurar este parámetro o el parámetro Service Account Json File Content.

Si defines este parámetro, configura el parámetro Quota Project ID.

Para suplantar cuentas de servicio con la federación de identidades de cargas de trabajo, asigna el rol Service Account Token Creator a tu cuenta de servicio. Para obtener más información sobre las identidades de carga de trabajo y cómo trabajar con ellas, consulta Identidades de cargas de trabajo.

Quota Project ID

Opcional.

El Google Cloud ID de proyecto que usas para las APIs Google Cloud y la facturación. Para usar este parámetro, debe conceder el rol Service Usage Consumer a su cuenta de servicio.

Si no asignas ningún valor a este parámetro, la integración recuperará el ID del proyecto de tu Google Cloud cuenta de servicio.

Verify SSL

Opcional.

Si se selecciona esta opción, la integración valida el certificado SSL al conectarse a Google Cloud.

Esta opción está seleccionada de forma predeterminada.

Para obtener instrucciones sobre cómo configurar una integración en Google SecOps, consulta Configurar integraciones.

Si es necesario, puedes hacer cambios más adelante. Después de configurar una instancia de integración, puedes usarla en los cuadernos de estrategias. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta el artículo Admitir varias instancias.

Acciones

Para obtener más información sobre las acciones, consulta Responder a las acciones pendientes de Mi mesa de trabajo y Realizar una acción manual.

Ping

Usa la acción Ping para probar la conectividad con BigQuery.

Esta acción no se ejecuta en entidades de Google SecOps.

Entradas de acciones

Ninguno

Resultados de la acción

La acción Ping proporciona las siguientes salidas:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Mensajes de salida

La acción Ping puede devolver los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje
Successfully connected to the Google BigQuery server with the provided connection parameters! La acción se ha realizado correctamente.
Failed to connect to the Google BigQuery server! Error is ERROR_REASON

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se muestra el valor de la salida del resultado de la secuencia de comandos al usar la acción Ping:

Nombre del resultado del script Valor
is_success True o False

Ejecutar consulta personalizada

Usa la acción Ejecutar consulta personalizada para ejecutar consultas personalizadas en BigQuery.

Esta acción no se ejecuta en entidades de Google SecOps.

Entradas de acciones

La acción Ejecutar consulta personalizada requiere los siguientes parámetros:

Parámetros Descripción
Query

Obligatorio.

Consulta de SQL que se va a ejecutar.

Max Results To Return

Opcional.

Número de resultados que se devolverán en cada respuesta.

El valor predeterminado es 50.

Resultados de la acción

La acción Ejecutar consulta personalizada proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Resultado de JSON

En el siguiente ejemplo se muestra el resultado JSON que se obtiene al usar 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 resultante Descripción del mensaje
Successfully executed query in Google BigQuery! La acción se ha realizado correctamente.
Error executing action "Run Custom Query". Reason: ERROR_REASON

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se muestra el valor de la salida del resultado de la secuencia de comandos cuando se usa la acción Ejecutar consulta personalizada:

Nombre del resultado del script Valor
is_success True o False

Ejecutar consulta de SQL

Usa la acción Ejecutar consulta de SQL para ejecutar consultas en BigQuery.

Esta acción no se ejecuta en entidades de Google SecOps.

Entradas de acciones

La acción Ejecutar consulta de SQL requiere los siguientes parámetros:

Parámetros Descripción
Dataset Name

Obligatorio.

Nombre del conjunto de datos que se va a usar al ejecutar consultas.

Query

Obligatorio.

Consulta de SQL que se va a ejecutar.

Max Results To Return

Opcional.

Número de resultados que se devolverán en cada respuesta.

El valor predeterminado es 50.

Resultados de la acción

La acción Ejecutar consulta de SQL proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Resultado de JSON

En el siguiente ejemplo se describe el resultado en JSON que se recibe al usar la acción Ejecutar consulta 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 SQL puede devolver los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje
Successfully executed query in the BigQuery dataset DATASET_NAME. La acción se ha realizado correctamente.
Error executing action "Run SQL Query". Reason: ERROR_REASON

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se muestra el valor de la salida del resultado de la secuencia de comandos cuando se usa la acción Ejecutar consulta de SQL:

Nombre del resultado del script Valor
is_success True o False

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.