Exporta resultados de forma masiva a BigQuery

En este documento, se describe cómo iniciar exportaciones masivas a pedido de los resultados de Security Command Center a BigQuery.

BigQuery es el almacén de datos de estadísticas rentable, a escala de petabytes y completamente administrado de Google Cloudque te permite ejecutar estadísticas en grandes cantidades de datos casi en tiempo real. Para obtener más información sobre BigQuery, consulta la documentación de BigQuery.

Descripción general

Esta función proporciona un resumen de los hallazgos hasta un momento determinado. Esta función complementa la exportación continua a BigQuery para proporcionar informes y estadísticas integrales.

Con las exportaciones masivas, puedes hacer lo siguiente:

Estructura del conjunto de datos

Los hallazgos se exportan a BigQuery como filas en la tabla findings, que se agrupa por source_id, finding_id y event_time.

Cada conjunto de datos contiene una tabla de findings, que tiene los siguientes campos:

Campo Descripción
source_id

Un identificador único que Security Command Center asigna a la fuente de un hallazgo. Por ejemplo, todos los resultados de la fuente de detección de anomalías de Cloud tienen el mismo valor de source_id.

Ejemplo: 1234567890

finding_id Identificador único que representa el resultado. Es único dentro de una fuente para una organización. Es alfanumérico y tiene 32 caracteres o menos.
event_time

La hora en que ocurrió el evento o la hora en que se produjo una actualización del resultado. Por ejemplo, si el hallazgo representa un firewall abierto, event_time captura la hora en que el detector cree que se abrió el firewall. Si el resultado se resuelve después, esta hora refleja cuándo se resolvió ese resultado.

Ejemplo: 2019-09-26 12:48:00.985000 UTC

bulk_export_id

Para las exportaciones masivas (vista previa), este es un UUID.

En el caso de las exportaciones continuas, este campo está vacío.

finding

Un registro de los datos de evaluación, como seguridad, riesgo, estado o privacidad, que se transfieren a Security Command Center para fines de presentación, notificación, análisis, pruebas de políticas y aplicación. Por ejemplo, una vulnerabilidad de secuencia de comandos entre sitios (XSS) en una aplicación de App Engine es un resultado.

Para obtener más información sobre los campos anidados, consulta la referencia de la API para el objeto Finding.

resource

Es información relacionada con el recurso Google Cloud asociado a este hallazgo.

Para obtener más información sobre los campos anidados, consulta la referencia de la API para el objeto Resource.

Costo

Se generarán cargos de BigQuery relacionados con esta función por el almacenamiento de datos en BigQuery. Para obtener más información, consulta los precios de almacenamiento de BigQuery.

Antes de comenzar

Debes completar estos pasos antes de habilitar esta función.

Configura los permisos

Para completar esta guía, debes tener las siguientes funciones de Identity and Access Management (IAM):

Crea un conjunto de datos de BigQuery

Crea un conjunto de datos de BigQuery siguiendo los pasos que se indican en Crea conjuntos de datos.

Habilita la API de Security Command Center

Para exportar los resultados, debes habilitar la API de Security Command Center. Para ello, sigue estos pasos:

  1. Ve a la página Biblioteca de API en la Google Cloud consola.

    Ir a la biblioteca de la API

  2. Selecciona el proyecto para el que deseas habilitar la API de Security Command Center.

  3. En el campo Buscar, ingresa Security Command Center y, luego, haz clic en Security Command Center en los resultados de la búsqueda.

  4. En la página de la API que aparece, haz clic en Habilitar.

La API de Security Command Center ahora está habilitada para tu proyecto.

Otorga acceso al perímetro en los Controles del servicio de VPC

Si usas los Controles del servicio de VPC, revisa Cómo otorgar acceso al perímetro en los Controles del servicio de VPC y sigue esos pasos, si es necesario.

Este paso se debe repetir para cada usuario que cree una exportación masiva para un perímetro de servicio determinado.

Crea una regla de entrada para la nueva exportación masiva de BigQuery

Si usas los Controles del servicio de VPC, revisa Crea una regla de entrada para la nueva exportación a BigQuery y sigue esos pasos, si es necesario.

Limitaciones de las exportaciones masivas de BigQuery

Ten en cuenta las siguientes restricciones cuando crees exportaciones masivas de BigQuery:

  • Solo se permiten tres exportaciones masivas simultáneas en un momento dado para una sola organización.
  • Si solicitas varias exportaciones masivas no simultáneas al mismo conjunto de datos de BigQuery, los resultados más recientes de la exportación se agregan a la tabla findings de BigQuery. Los hallazgos no se reemplazan.

Crea una exportación masiva de BigQuery

La exportación masiva de hallazgos solo se puede realizar a nivel de la organización.

Para iniciar una exportación masiva de resultados a una instancia de BigQuery, usa gcloud CLI y sigue estos pasos:

  1. Ve a la consola de Google Cloud .

    Ir a la consola de Google Cloud

  2. Selecciona el proyecto para el que habilitaste la API de Security Command Center.

  3. Haz clic en Activate Cloud Shell (Activar Cloud Shell).

  4. Para crear una configuración de exportación nueva, ejecuta el siguiente comando:

    gcloud scc findings export-to-bigquery PARENT \
        --dataset=DATASET_NAME \
        [--location=LOCATION; default="global"] \
    

    Reemplaza lo siguiente:

    • PARENT: Es el nombre relativo del alcance de la exportación. Formato de ejemplo: organizations/ORGANIZATION_ID
    • DATASET_NAME: El nombre del conjunto de datos de BigQuery. Formato de ejemplo: projects/PROJECT_ID/datasets/DATASET_ID
    • LOCATION: la ubicación de Security Command Center en la que se creará una configuración de exportación. Si la residencia de datos está habilitada, usa eu, sa o us. De lo contrario, usa el valor global. Esta variable es opcional.

      Por ejemplo, para crear una exportación masiva de todos los hallazgos, ejecuta el siguiente comando:

      gcloud scc findings export-to-bigquery organizations/123
        --dataset=projects/123/datasets/DATASET
      

      En términos de residencia de datos, el ejemplo anterior llama al endpoint global.

      Para crear la misma exportación masiva para el extremo eu, ejecuta el siguiente comando:

      gcloud scc findings export-to-bigquery organizations/123
        --dataset=projects/123/datasets/DATASET
        --location=locations/eu
      

Este comando devuelve un objeto de operación de larga duración que contiene una cadena name que se requiere cuando se hace un seguimiento del estado de la exportación. Para hacer un seguimiento del estado de esta exportación masiva de BigQuery, consulta Cómo ver el estado de una exportación masiva.

Para revisar tus resultados, consulta Revisa los resultados.

Consultas

Para ver una variedad de consultas que puedes usar para analizar los datos de los resultados, consulta Consultas útiles.

Cómo ver el estado de una exportación masiva

Para ver el estado de una exportación masiva, necesitas la cadena long running operation name que se te devolvió cuando creaste la exportación masiva.

  1. Ve a la consola de Google Cloud .

    Ir a la consola de Google Cloud

  2. Selecciona el proyecto para el que habilitaste la API de Security Command Center.

  3. Haz clic en Activate Cloud Shell (Activar Cloud Shell).

  4. Para verificar los detalles de la configuración de exportación masiva, ejecuta el siguiente comando:

    gcloud scc operations describe LONG_RUNNING_OPERATION_NAME \
        --organization=ORGANIZATION_ID
    

    Reemplaza lo siguiente:

    • LONG_RUNNING_OPERATION_NAME: Es la cadena name que se devolvió cuando creaste la exportación masiva.
    • ORGANIZATION_ID

      Por ejemplo, para ver el estado de una solicitud de exportación masiva, el name: "long-running-operation-name" devuelto de una organización con un ID de organización establecido en 123, ejecuta el siguiente comando:

      gcloud scc operations describe long-running-operation-name \
        --organization=123
      
  • Si la exportación se realizó correctamente, la respuesta contiene done: true.
  • Si falla una exportación, la respuesta contiene un código de error.
  • Si una exportación aún está en curso, la respuesta no contiene done: true ni un código de error.

Exportaciones masivas y continuas de BigQuery

Si deseas usar las exportaciones masivas y continuas de BigQuery juntas en el mismo conjunto de datos de BigQuery, existen dos enfoques posibles:

  • Primero, crea una exportación continua y, luego, completa los datos con una exportación masiva.

    1. Configura una exportación continua a un conjunto de datos de BigQuery. Una vez que se crea correctamente la exportación, comenzarás a recibir los resultados de Security Command Center en tiempo real.

    2. Crea una exportación masiva con el mismo conjunto de datos de destino de BigQuery. Se exporta una instantánea de todos los resultados de Security Command Center en el momento de la exportación al conjunto de datos seleccionado.

    La ejecución de una exportación masiva lleva tiempo. Por lo tanto, si la exportación continua se crea en T1, la exportación masiva se activa en T2 y la instantánea de los hallazgos de la exportación masiva se completa en T3, es posible que se vean registros duplicados entre T1 y T3. Sin embargo, no hay brechas en los hallazgos.

  • Primero, crea una exportación masiva y, luego, crea una exportación continua.

    1. Crea una exportación masiva. Se exporta una instantánea de todos los resultados de Security Command Center en el momento en que se ejecutan las exportaciones al conjunto de datos de BigQuery seleccionado.

    2. Configura una exportación continua al mismo conjunto de datos de BigQuery de destino. Una vez que se crea correctamente la exportación, comenzarás a recibir resultados de Security Command Center en tiempo real.

    Si la exportación masiva se crea en T1, la instantánea de los hallazgos para la exportación masiva se completa en T2 y la exportación continua se activa en T3, es posible que falten hallazgos entre T2 y T3 en el conjunto de datos de BigQuery.

¿Qué sigue?