Trasmettere flussi di dati con l'esportazione avanzata di BigQuery

Supportato in:

Questo documento descrive come accedere e utilizzare i dati di Google SecOps in BigQuery con la funzionalità Advanced BigQuery Export. In qualità di cliente Enterprise Plus, puoi utilizzare la funzionalità per accedere ai tuoi dati di sicurezza quasi in tempo reale tramite una pipeline di dati in streaming completamente gestita. Questa funzionalità può contribuire ad affrontare la sfida critica della latenza dei dati nelle operazioni di sicurezza e portare a un rilevamento e una risposta alle minacce più tempestivi ed efficaci.

Prima di iniziare

Esamina i seguenti punti che definiscono i requisiti di idoneità e le azioni necessarie:

  • Solo per i clienti Enterprise Plus: questa funzionalità è disponibile solo per i clienti di Google SecOps Enterprise Plus. Per tutti gli altri clienti, consulta Esportare in un progetto BigQuery autogestito.
  • È richiesta l'attivazione della funzionalità: questa funzionalità viene abilitata su richiesta e potrebbe richiedere la configurazione iniziale nell'istanza Google SecOps della tua organizzazione. Se necessario, contatta il tuo rappresentante Google SecOps per confermare l'attivazione della funzionalità.
  • Migrazione dei dati: quando attivi questa funzionalità, i tuoi dati iniziano a essere esportati in un nuovo progetto tenant BigQuery per la tua istanza Google SecOps, oltre alle esportazioni esistenti nel tuo progetto BigQuery gestito da Google, come descritto in Esportare in un progetto BigQuery gestito da Google. Questa doppia operazione supporta il passaggio alla nuova funzionalità senza interruzioni. Riceverai una notifica prima che la vecchia pipeline di esportazione venga disattivata per il tuo account.
  • Controlli di servizio VPC: BigQuery Export avanzato può funzionare in un perimetro dei Controlli di servizio VPC. Per saperne di più, consulta Configurare i Controlli di servizio VPC.
  • Chiavi di crittografia gestite dal cliente (CMEK): Advanced BigQuery Export è disponibile per i clienti che hanno abilitato CMEK nella propria istanza di Google SecOps. Per saperne di più, consulta CMEK per Google SecOps. Se utilizzi CMEK con i Controlli di servizio VPC, consulta Configurare i Controlli di servizio VPC per Google SecOps per consigli e istruzioni.

Panoramica delle funzioni

L'esportazione avanzata di BigQuery esegue automaticamente il provisioning e la gestione dei set di dati Google SecOps essenziali, inclusi eventi Unified Data Model (UDM), rilevamenti di regole, grafici di entità e corrispondenze di indicatori di compromissione (IoC), in un progetto BigQuery sicuro e gestito da Google. Ottieni l'accesso sicuro e di sola lettura a questi dati tramite un set di dati collegato a BigQuery, che viene visualizzato direttamente nel tuo progetto Google Cloud . Questa funzionalità ti consente di eseguire query sui dati di sicurezza come se fossero archiviati localmente, ma senza il sovraccarico della gestione della pipeline di dati o dell'archiviazione.

Google SecOps esporta in BigQuery le seguenti categorie di dati di sicurezza:

  • Record di eventi UDM: record UDM creati dai dati di log inseriti dai clienti. Questi record sono arricchiti con informazioni sugli alias.
  • Corrispondenze delle regole (rilevamenti): istanze in cui una regola corrisponde a uno o più eventi.
  • Corrispondenze IoC: artefatti (ad esempio domini o indirizzi IP) provenienti da eventi che corrispondono ai feed IoC. Sono incluse le corrispondenze con e da feed globali e feed specifici per i clienti.
  • Metriche di importazione: statistiche, ad esempio il numero di righe di log importate, il numero di eventi prodotti dai log e il numero di errori di log che indicano che i log non sono stati analizzati.
  • Grafico delle entità e relazioni tra entità: la descrizione delle entità e delle loro relazioni con altre entità.

Vantaggi principali

I principali vantaggi di BigQuery Export avanzato includono:

  • Aggiornamento dei dati quasi in tempo reale: un'architettura di streaming rende disponibili i dati di sicurezza per le query pochi minuti dopo l'importazione. Gli eventi UDM, i rilevamenti delle regole e le corrispondenze IoC sono disponibili con una latenza prevista di 5-10 minuti.
  • Modello di costi semplificato e prevedibile: Google SecOps copre tutti i costi di importazione e archiviazione dei dati all'interno del progetto BigQuery gestito. La tua organizzazione è responsabile solo dei costi di analisi BigQuery sostenuti quando esegui query.
  • Accesso ai dati senza manutenzione: l'infrastruttura sottostante è completamente gestita da Google, il che consente al tuo team di concentrarsi sull'analisi dei dati anziché sull'ingegneria dei dati.
  • Integrità e deduplicazione dei dati: i dati di sicurezza vengono aggiornati o riarricchiti di frequente dopo l'importazione iniziale. La funzionalità utilizza unioni DML (Data Manipulation Language) granulari per aggiornare i record sul posto. Ricevi dati puliti e deduplicati senza scrivere routine di deduplicazione SQL complesse.
  • Supporto MSSP (hub-and-spoke) senza interruzioni: i Managed Security Service Provider (MSSP) possono gestire in modo efficiente l'analisi in più tenant dei clienti abbonandosi in modo programmatico ai set di dati collegati dei clienti da un unico progetto hub centralizzato.
  • Conformità integrata: la funzionalità supporta in modo nativo i Controlli di servizio VPC, le chiavi di crittografia gestite dal cliente (CMEK) e la residenza dei dati (DRZ). Gli audit log rivolti ai clienti (Access Transparency) vengono inviati direttamente al tuo spazio di lavoro Cloud Logging utilizzando il servizio di identificazione delle risorse federate (FRIS).

Casi d'uso comuni

L'esportazione avanzata di BigQuery è progettata per analisti della sicurezza, esperti di ricerca delle minacce, data scientist e ingegneri della sicurezza che richiedono un accesso diretto e ad alte prestazioni ai dati di sicurezza aggiornati per indagini ad hoc, analisi personalizzate e integrazione con strumenti di business intelligence.

I casi d'uso comuni per l'esportazione avanzata di BigQuery includono:

  • Esegui query ad hoc direttamente in BigQuery.
  • Utilizza i tuoi strumenti di business intelligence, come Microsoft Power BI, per creare dashboard, report e analisi.
  • Unisci i dati di Google SecOps ai set di dati di terze parti.

Architettura

L'architettura di BigQuery Export avanzato utilizza una pipeline di streaming continuo. I dati dell'istanza Google SecOps vengono inviati a un progetto tenant sicuro e gestito da Google utilizzando l'API BigQuery Storage Write ad alto rendimento.

Google SecOps utilizza BigQuery sharing per creare un elenco di dati sicuro e fornirti l'accesso. Nel riquadro Explorer di BigQuery, il tuo progetto Google Cloud viene automaticamente iscritto a questo elenco, che viene visualizzato come set di dati collegatosecops_linked_datalake.

Questo modello supporta un forte isolamento dei dati e ti offre un accesso alle query di sola lettura semplice e diretto.

Terminologia chiave

Di seguito sono riportati alcuni termini e concetti chiave per BigQuery Export avanzato:

  • Progetto tenant: un progetto Google Cloud di proprietà e gestito da Google SecOps. Questo progetto è il luogo in cui i dati di sicurezza esportati vengono fisicamente archiviati e gestiti. Non hai accesso diretto a questo progetto.
  • BYOP (Bring Your Own Project): il progetto Google Cloud di proprietà della tua organizzazione e collegato alla tua istanza Google SecOps. Questo è il progetto in cui viene visualizzato il set di dati collegato e in cui esegui le query e sostieni i costi di analisi.
  • ID progetto: l'identificatore univoco globale del tuo progetto Google Cloud collegato alla tua istanza Google SecOps.
  • Set di dati collegato: un set di dati BigQuery di sola lettura che funge da link simbolico o puntatore a un set di dati condiviso in un altro progetto. Consente di eseguire query sui dati senza copiarli, fornendo un accesso sicuro mentre il fornitore di dati gestisce l'archiviazione fisica.
  • DML granulare (FGDML): il processo di backend automatizzato utilizzato dall'esportazione avanzata di BigQuery per eseguire upsert (aggiornamenti e inserimenti). Se un evento arriva in ritardo o viene riarricchito, il sistema aggiorna la riga esistente in base al suo identificatore univoco (ad esempio, metadata.id) anziché creare un duplicato.
  • Unified Data Model (UDM): lo schema standard ed estensibile di Google per analizzare e normalizzare i dati di telemetria di sicurezza provenienti da centinaia di prodotti di fornitori in un formato coerente.
  • Fornitori di servizi di sicurezza gestiti (MSSP): Google Cloud gli MSSP certificati offrono una suite completa di strumenti e competenze per rafforzare le difese contro le minacce di cybersicurezza in continua evoluzione.

Configurare il sistema

Per utilizzare BigQuery Export avanzato, devi prima configurare il sistema. A seconda dell'ambiente e dei requisiti, segui le istruzioni riportate in una delle sezioni seguenti.

Configurazione predefinita

Segui questi passaggi per configurare il sistema in modo da utilizzare l'esportazione avanzata di BigQuery e iniziare a eseguire query sui tuoi dati:

  1. Conferma la licenza: assicurati che la tua organizzazione disponga di una licenza Google SecOps Enterprise Plus.
  2. Identifica il tuo progetto: accedi alla console Google Cloud e seleziona il progetto Google Cloud collegato alla tua istanza di Google SecOps.
  3. Individua il set di dati collegato: nella console BigQuery, utilizza il riquadro Explorer per accedere alle risorse del progetto. Viene visualizzato un set di dati collegato denominato secops_linked_datalake. Questo set di dati è un puntatore di sola lettura ai dati di sicurezza attivi gestiti da Google SecOps.
  4. Verifica le autorizzazioni Identity and Access Management (IAM): per eseguire query sui dati, al tuo utente o account di servizio devono essere concessi i seguenti ruoli IAM sul tuo progetto:

    • roles/bigquery.dataViewer: obbligatorio per gli utenti finali o gli strumenti di BI della tua organizzazione per eseguire query SQL sulle viste del set di dati collegato.
    • roles/bigquery.jobUser: obbligatorio per gli utenti finali o gli strumenti di BI della tua organizzazione per eseguire query SQL sulle viste del set di dati collegato.
    • Chronicle API Admin: obbligatorio in Google SecOps per eseguire le API Dataplane (ad esempio ProvisionPartnerSubscription) per gestire gli abbonamenti MSSP.

    Questi ruoli consentono agli utenti (come analisti della sicurezza e consumatori di dati) di eseguire query sui dati nel set di dati collegato ed eseguire job BigQuery all'interno del loro progetto.

  5. Esegui una query di test: apri l'area di lavoro SQL di BigQuery ed esegui una query di base per verificare che l'accesso sia configurato correttamente. Puoi utilizzare il seguente snippet di codice:

    SELECT *
    FROM `PROJECT_ID.secops_linked_datalake.events`
    LIMIT 10;
    

    Sostituisci PROJECT_ID con l'ID progetto Google Cloud effettivo.

Configura l'esportazione avanzata di BigQuery all'interno di un perimetro dei Controlli di servizio VPC

Per configurare BigQuery Export avanzato all'interno del perimetro dei Controlli di servizio VPC, devi configurare una regola in entrata specifica. Questa regola consente ai service account Google SecOps necessari di interagire con BigQuery e i servizi correlati nei progetti protetti dal perimetro. Per istruzioni dettagliate e ulteriori informazioni, consulta Configurare i Controlli di servizio VPC per Google Security Operations.

  • Per configurare l'esportazione avanzata di BigQuery all'interno del perimetro dei Controlli di servizio VPC, configura la seguente regola di ingresso:

    - ingressFrom:
        identities:
        - serviceAccount:malachite-advanced-bq-exporter@system.gserviceaccount.com
        - serviceAccount:malachite-data-export-service@system.gserviceaccount.com
        sources:
        - accessLevel: "*"
      ingressTo:
        operations:
        - serviceName: analyticshub.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: bigquery.googleapis.com
          methodSelectors:
          - method: "*"
        resources:
        - projects/PROJECT_NUMBER
    

    Sostituisci PROJECT_NUMBER con il numero del progetto Google Cloud collegato a Google SecOps.

Per i MSSP: configura l'accesso centralizzato ai dati BigQuery dei tuoi subtenant

Se hai il provisioning come MSSP, puoi utilizzare le API dataplane di Google SecOps per creare in modo programmatico set di dati collegati a BigQuery nel progetto "hub" centrale. Questi set di dati collegati puntano ai dati BigQuery dei tuoi clienti (spoke), consentendoti di eseguire query su più tenant da un pannello centralizzato. Questa procedura richiede che il cliente conceda l'accesso alla tua istanza MSSP.

I vantaggi principali includono:

  • Visibilità centralizzata:analizza i dati di sicurezza di tutti i tuoi clienti in un unico posto.
  • Workflow efficienti:semplifica la ricerca e la segnalazione delle minacce nella tua base clienti.
  • Gestione programmatica:automatizza la configurazione e l'interruzione dell'accesso ai dati.

Prerequisiti

  • MSSP

    • Un progetto Google Cloud che funga da "hub" centrale.
    • Un'istanza Google SecOps.
    • Autorizzazioni IAM appropriate per gestire i set di dati BigQuery nel progetto hub.
  • Cliente (subinquilino)

    • Una licenza Google SecOps Enterprise Plus.
    • Un progetto Google Cloud (BYOP) collegato alla tua istanza Google SecOps.
    • Autorizzazioni IAM appropriate per gestire l'accesso all'API Google SecOps.
    • gcloud CLI installata e autenticata.

Passaggio 1: il cliente concede l'accesso all'MSSP

Il cliente può chiamare l'API ProvisionPartnerSubscription per concedere le autorizzazioni all'istanza Google SecOps del suo MSSP. Google SecOps esegue automaticamente il provisioning di un set di dati collegato BigQuery, denominato nel formato secops_linked_datalake_<customer_id> all'interno del progetto Google Cloud dell'MSSP collegato all'istanza Google SecOps dell'MSSP. Questo set di dati si collega ai dati Google SecOps del cliente.

Endpoint API:
POST
https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:provisionPartnerSubscription
Metodo

POST

Corpo della richiesta

Oggetto JSON vuoto.

{}

Esempio di comando CURL (da eseguire dal cliente):

curl -X POST \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:provisionPartnerSubscription"

Sostituisci i seguenti segnaposto:

  • CUSTOMER_PROJECT: l' Google Cloud ID progetto o il numero di progetto del cliente. Consulta la pagina Creazione e gestione dei progetti.
  • REGION: la Google Cloud regione in cui risiede l'istanza Google SecOps del cliente (ad esempio, us, europe-west2). Consulta l'elenco delle regioni.
  • CUSTOMER_INSTANCE_ID: l'ID istanza Google SecOps del cliente.
Corpo della risposta

Restituisce ProvisionPartnerSubscriptionResponse contenente i dettagli dell'abbonamento.

{
  "subscriptionDetails": {
    "subscription": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID",
    "linkedDataset": "string"
  }
}
  • SUBSCRIBER_PROJECT_ID: l'ID progetto Google Cloud dell'MSSP abbonato.
  • SUBSCRIBER_REGION: la regione in cui si trova il progetto Google Cloud dell'abbonato.
  • SUBSCRIPTION_ID: un identificatore univoco per l'abbonamento esistente.

Passaggio 2: il fornitore di servizi di sicurezza gestiti esegue query sui dati tra i tenant

Una volta eseguito il provisioning dei set di dati collegati di più clienti nel tuo progetto (MSSP) Google Cloud , puoi utilizzare query SQL BigQuery standard per analizzare i dati. Per eseguire query su più clienti, utilizza l'operatore UNION ALL.

Query di esempio (da eseguire dal MSSP nel progetto hub):

SELECT event_type, timestamp
FROM `PARTNER_PROJECT_ID.secops_linked_datalake_CUSTOMER_ID_1.events`
WHERE <your_conditions>

UNION ALL

SELECT event_type, timestamp
FROM `PARTNER_PROJECT_ID.secops_linked_datalake_CUSTOMER_ID_2.events`
WHERE <your_conditions>

-- Add more UNION ALL clauses for other customers

Passaggio 3: il cliente controlla l'accesso

Il cliente può chiamare l'API fetchSubscriptions per visualizzare tutti gli abbonamenti attivi e le istanze MSSP che accedono ai suoi dati.

Endpoint API
GET https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:fetchSubscriptions
Metodo

GET

Esempio di comando CURL (da eseguire dal cliente):

curl -X GET \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:fetchSubscriptions"

Sostituisci i seguenti segnaposto:

  • CUSTOMER_PROJECT: l' Google Cloud ID progetto o il numero di progetto del cliente. Consulta la pagina Creazione e gestione dei progetti.
  • REGION: la Google Cloud regione in cui si trova l'istanza Google SecOps del cliente (ad es. us, europe-west2). Consulta l'elenco delle regioni.
  • CUSTOMER_INSTANCE_ID: l'ID istanza Google SecOps del cliente.
Corpo della risposta

Restituisce FetchSubscriptionsResponse con un elenco di abbonamenti attivi.

{
  "subscriptions": [
    {
      "subscription": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID",
      "linkedDataset": "string"
    }
  ]
}
  • SUBSCRIBER_PROJECT_ID: l' Google Cloud ID progetto dell'abbonato. L'abbonato può fare riferimento al cliente o a un MSSP.
  • SUBSCRIBER_REGION: la regione in cui si trova il progetto Google Cloud dell'abbonato.
  • SUBSCRIPTION_ID: un identificatore univoco per l'abbonamento esistente.

Passaggio 4: il cliente revoca l'accesso (se necessario)

Se un cliente deve revocare l'accesso di un MSSP, può utilizzare l'API revokePartnerSubscription. Questa azione revoca immediatamente l'autorizzazione a eseguire query sul set di dati collegato utilizzando il progetto hub del fornitore di servizi di sicurezza gestiti. L'ID dell'abbonamento revocato viene disattivato.

Endpoint API
POST https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:revokePartnerSubscription
Metodo

POST

Corpo della richiesta

Richiede l'URI dell'abbonamento da revocare, ottenuto dalla chiamata API fetchSubscriptions.

{
  "subscriptionUri": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID"
}

Esempio di comando CURL (da eseguire dal cliente):

# Set subscription details obtained from Fetch Subscriptions
export SUBSCRIBER_PROJECT_ID="partner-byop-project-id"
export SUBSCRIBER_REGION="subscription-location"
export SUBSCRIPTION_ID="subscription-id"

curl -X POST \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "subscriptionUri": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID"
  }' \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:revokePartnerSubscription"

Sostituisci i seguenti segnaposto:

  • SUBSCRIBER_PROJECT_ID: l' Google Cloud ID progetto dell'abbonato.
  • SUBSCRIBER_REGION: la regione in cui si trova il progetto Google Cloud dell'abbonato.
  • SUBSCRIPTION_ID: un identificatore univoco per l'abbonamento esistente.
  • CUSTOMER_PROJECT: l' Google Cloud ID progetto o il numero di progetto del cliente.
  • REGION: la regione Google Cloud in cui risiede l'istanza Google SecOps del cliente.
  • CUSTOMER_INSTANCE_ID: l'ID istanza Google SecOps del cliente.
Corpo della risposta

Oggetto JSON vuoto.

{}

Eseguire query sui dati BigQuery

Puoi eseguire query direttamente in BigQuery o connettere a BigQuery il tuo strumento di business intelligence, ad esempio Microsoft Power BI.

Per ulteriori informazioni sulle query, consulta le seguenti risorse:

Periodo di conservazione dei dati nel progetto tenant BigQuery

Il periodo di conservazione dei dati in BigQuery è identico a quello configurato per il tuo tenant Google SecOps. Non esiste un'impostazione separata e configurabile per personalizzare la norma di conservazione dei dati in BigQuery. I dati vengono eliminati automaticamente dalle tabelle BigQuery man mano che superano il periodo di conservazione del tenant.

Set di dati collegati

I set di dati collegati contengono tabelle corrispondenti a diversi tipi di dati di sicurezza.

La tabella seguente fornisce un riepilogo dei set di dati disponibili, del loro aggiornamento dei dati di destinazione e degli identificatori univoci utilizzati per garantire l'integrità dei dati:

Nome set di dati Descrizione Migliore freschezza prevista Identificatori univoci per la deduplicazione
events Eventi di sicurezza normalizzati nello schema UDM. Per informazioni sullo schema, consulta Schema degli eventi di Google SecOps. < 5 minuti id (rappresentazione della stringa)
rule_detections Rilevamenti generati dalle regole del motore di rilevamento di Google SecOps. < 5 minuti detection.id
ioc_matches Corrispondenze dell'indicatore di compromissione (IOC) trovate rispetto agli eventi UDM. < 5 minuti Chiave composita di day_bucket_seconds, feed_log_type, ioc_type, ioc_value
entity_graph Dati contestuali su entità (utenti, asset) e relative relazioni. ~4 ore (batch) Chiave composita di partition_day, metadata.product_entity_id, metadata.event_metadata.id
ingestion_metrics Statistiche sul volume di importazione dei log e sulle origini dati. ~5 minuti Nessuno (serie temporale solo aggiunta)
entity_enum_value_to_name_mapping Mappa i valori numerici ai valori stringa per i tipi enumerati del grafico delle entità. N/D Nessuno
udm_enum_value_to_name_mapping Mappa i valori numerici ai valori stringa per i tipi enumerati di eventi UDM. N/D Nessuno

Query di esempio

Gli esempi seguenti mostrano come eseguire query sui set di dati per i casi d'uso comuni relativi alla sicurezza.

Esempio: trova tutte le connessioni di rete da un indirizzo IP specifico nelle ultime 24 ore

Questa query cerca nella tabella degli eventi l'attività di rete recente da un indirizzo IP sospetto.

SELECT
  metadata.product_event_type,
  principal.ip,
  target.ip,
  network.application_protocol
FROM
  `PROJECT_ID.secops_linked_datalake.events`
WHERE
  principal.ip = '192.0.2.1'
  AND metadata.event_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR);
  • Sostituisci PROJECT_ID con l'ID progetto Google Cloud .

Esempio: conteggio dei primi 10 rilevamenti di regole più frequenti

Questa query nella tabella rule_detections aiuta a identificare le minacce o le violazioni delle norme più comuni rilevate nel tuo ambiente.

SELECT
  rule_name,
  COUNT(*) AS detection_count
FROM
  `PROJECT_ID.secops_linked_datalake.rule_detections`
WHERE
  detection.id IS NOT NULL
GROUP BY
  1
ORDER BY
  2 DESC
LIMIT
  10;
  • Sostituisci PROJECT_ID con l'ID progetto Google Cloud .

Best practice

Di seguito sono riportate alcune best practice per le query con l'esportazione avanzata di BigQuery:

  • Ottimizza i costi delle query: anche se l'archiviazione è senza costi, i costi di calcolo vengono addebitati al tuo progetto, quindi procedi nel seguente modo:

    • Evita SELECT *. Nella query, specifica solo le colonne necessarie per ridurre la quantità di dati scansionati e abbassare i costi della query.
    • Assicurati che le query sfruttino il partizionamento (utilizzando la colonna dell'ora di partizione hour_time_bucket) e il clustering (hour_time_bucket, log_type, event_type, id) di BigQuery per analizzare meno dati e ridurre significativamente i costi delle query.
  • Utilizza i filtri di partizione:la tabella degli eventi è partizionata in base alla colonna hour_time_bucket. Includi sempre un filtro della clausola WHERE in questa colonna per limitare le query alla finestra temporale più piccola possibile, il che migliora significativamente le prestazioni e riduce i costi.

  • Scrivi query efficienti:lo schema UDM è ampio e sparso. Per filtrare in modo efficiente tipi di eventi specifici, utilizza WHERE… IS NOT NULL sui campi pertinenti. Ad esempio, per trovare solo le query DNS, filtra WHERE network.dns.questions.name IS NOT NULL.

  • Convalida delle query:utilizza lo strumento di convalida query nella UI di BigQuery prima di eseguire una query. Lo strumento di convalida query fornisce una stima dei dati elaborati, aiutandoti a evitare query inaspettatamente grandi e costose.

  • Utilizza le tabelle di mappatura enum:l'esportazione avanzata di BigQuery include le tabelle entity_enum_value_to_name_mapping e udm_enum_value_to_name_mapping. Utilizzali per unire gli eventi e tradurre i valori enum numerici in stringhe leggibili senza scrivere una logica di traduzione manuale nelle query.

  • Integrazione dell'audit logging:Advanced BigQuery Export si integra con il servizio di identificazione delle risorse federate (FRIS). I log di controllo rivolti ai clienti, che utilizzano la funzionalità Google Access Transparency, vengono forniti in modo nativo all'interno dello spazio di lavoro Cloud Logging BYOP se il personale Google accede al progetto tenant gestito.

Limitazioni note

Di seguito sono riportate le limitazioni note della funzionalità BigQuery Export avanzato:

  • Latenza del grafico delle entità:il set di dati entity_graph viene esportato utilizzando un processo batch e ha un aggiornamento dei dati di circa quattro ore.
  • Limiti delle colonne dello schema UDM:BigQuery ha un limite flessibile di 10.000 colonne per tabella. Lo schema UDM contiene oltre 27.000 campi ed è scarsamente popolato. La pipeline di esportazione include in modo intelligente solo le colonne compilate per un determinato evento, mantenendo la maggior parte dei clienti ben al di sotto del limite. Google SecOps monitora l'utilizzo delle colonne e richiede in modo proattivo un aumento del limite per il progetto tenant se si avvicina a questa soglia.
  • Il periodo di conservazione non è configurabile:il periodo di conservazione dei dati per tutti i dati di sicurezza esportati in BigQuery viene sincronizzato automaticamente con il periodo di conservazione dei dati del tuo progetto Google SecOps e non è configurabile separatamente.
  • I dati SOAR non sono supportati:i dati di Google Security Operations SOAR (search_everything_db) non sono supportati in Advanced BigQuery Export.
  • La federazione tra regioni non è supportata:gli abbonamenti MSSP hub-and-spoke sono supportati all'interno della stessa regione. Il federazione tra regioni diverse (ad esempio, dagli Stati Uniti all'Europa) non è supportata.
  • Sono possibili eventi duplicati (probabilità inferiore all'1%): anche se il sistema utilizza unioni DML per gestire automaticamente la deduplicazione, a causa della natura dello streaming distribuito, esiste una remota possibilità (< 1%) che vengano visualizzati eventi duplicati durante le finestre di importazione dei casi limite prima del completamento dell'unione in background.
  • I dati storici sono accessibili, ma richiedono metodi specifici:l'esportazione dei dati inizia dal momento in cui viene attivato BigQuery Export avanzato e i dati precedenti rimangono accessibili nel progetto esistente. Per eseguire query sui dati esportati prima dell'attivazione dell'esportazione avanzata di BigQuery, devi utilizzare una singola query che unisce i dati di entrambi i progetti oppure eseguire due query separate sui rispettivi progetti (una per il set di dati precedente e una per il nuovo set di dati).

Risoluzione dei problemi e assistenza

La seguente tabella fornisce soluzioni ai problemi comuni che potresti riscontrare:

Sintomo osservato Possibile causa: Azione consigliata
Le query non riescono con Access Denied: User does not have permission. L'utente o il account di servizio non dispone dei ruoli IAM BigQuery necessari nel progetto Google Cloud collegato alla tua istanza di Google SecOps. Concedi al principal i ruoli BigQuery Data Viewer e BigQuery Job User. Verifica questa informazione utilizzando gcloud projects get-iam-policy YOUR_PROJECT_ID --flatten="bindings.members" --format='table(bindings.role)' --filter="bindings.members:user:your-user@example.com"
Il set di dati secops_linked_datalake non è visibile nel mio progetto BigQuery. 1. Non ti trovi nel progetto Google Cloud corretto.
2. La tua organizzazione non ha un abbonamento Enterprise Plus.
3. La tua organizzazione utilizza il livello Enterprise Plus, ma l'esportazione avanzata di BigQuery non è attivata nella tua istanza di Google SecOps.
1. Nella console Google Cloud , verifica di aver selezionato il progetto collegato alla tua istanza Google SecOps.
2. Contatta il tuo rappresentante di Google per confermare il livello della licenza Google SecOps.
3. Contatta il tuo rappresentante di Google SecOps e chiedigli di attivare Advanced BigQuery Export nella tua istanza Google SecOps.
La chiamata API non va a buon fine e viene visualizzato un errore di autorizzazione per ProvisionPartnerSubscription o FetchSubscriptions L'identità chiamante non dispone delle autorizzazioni richieste. Assicurati che il account di servizio o l'utente che effettua la chiamata disponga del ruolo IAM Amministratore API Chronicle, che include le autorizzazioni per la risorsa dell'istanza hub.
Colonne personalizzate mancanti o mancata corrispondenza dello schema È stato inserito un nuovo tipo di log o un campo UDM nidificato in profondità. L'esportazione avanzata di BigQuery utilizza aggiornamenti dinamici dello schema. Quando vengono compilati nuovi campi UDM, il sistema rileva automaticamente la mancata corrispondenza dello schema, si mette in pausa brevemente, aggiorna lo schema BigQuery e riprova l'inserimento. Non è richiesto alcun intervento.

Domande frequenti

Nelle sezioni seguenti sono riportate alcune domande frequenti.

Devo modificare le query SQL BigQuery legacy esistenti per utilizzare l'esportazione avanzata di Google SecOps?

No. Per mantenere la compatibilità con le versioni precedenti al 100%, Google SecOps espone le visualizzazioni (ad esempio eventi, ioc_matches) nel set di dati collegato che corrispondono perfettamente allo schema delle tabelle della funzionalità di esportazione Google SecOps legacy.

Posso modificare il periodo di conservazione dei dati per l'esportazione avanzata in BigQuery?

No. Il periodo di conservazione dei dati in Advanced BigQuery Export rispecchia direttamente le norme di conservazione dei dati di Google SecOps. Quando i dati scadono in Google SecOps, scadono automaticamente e vengono eliminati dal progetto tenant BigQuery.

Mi verranno addebitati gli aggiornamenti DML e la deduplicazione del backend?

No. Tutti i costi di archiviazione backend, delle operazioni di inserimento di flussi di dati e di calcolo DML granulare sono assorbiti da Google SecOps. Paghi solo per le query che esegui esplicitamente nel tuo BYOP.

Questa funzionalità è disponibile per i livelli Google SecOps Standard o Enterprise?

No. L'esportazione avanzata di BigQuery (archiviazione e streaming gestiti) è una funzionalità premium esclusiva del livello Google SecOps Enterprise Plus. I clienti Standard ed Enterprise possono utilizzare il modello Bring Your Own BigQuery (BYOBQ), in cui forniscono il progetto BigQuery e coprono i costi di archiviazione e di calcolo.

Perché potrei notare differenze temporanee nei conteggi tra i dati in Advanced BigQuery Export e le statistiche mostrate nell'interfaccia utente di Google Security Operations?

Possono verificarsi discrepanze temporanee a causa della natura di streaming quasi in tempo reale della pipeline di BigQuery Export avanzata. Ecco i motivi principali:

  • Dati in arrivo in ritardo: la pipeline di esportazione è progettata per un throughput elevato. La maggior parte dei dati viene visualizzata in BigQuery entro 5-10 minuti. Tuttavia, a volte gli eventi possono arrivare in ritardo alla pipeline di elaborazione a causa di ritardi di rete o problemi del sistema di origine. Sebbene il sistema miri a unire questi eventi in ritardo, potrebbe esserci un breve periodo in cui le statistiche dell'interfaccia utente live, che riflettono lo stato più recente, differiscono dai dati BigQuery in continuo aggiornamento.

  • Ri-arricchimento dei dati:Google SecOps arricchisce continuamente i dati sugli eventi con le informazioni contestuali e di threat intelligence più recenti. L'esportazione BigQuery avanzata esporta gli eventi in base al loro stato al momento dell'arricchimento iniziale. Se un evento viene nuovamente arricchito con nuove informazioni dopo essere stato trasmesso in streaming a BigQuery, questa versione aggiornata potrebbe non essere immediatamente visibile in BigQuery. Ciò può comportare differenze quando si confrontano gli elementi dell'interfaccia utente che mostrano sempre i dati completamente riassegnati.

  • Latenza di unione DML:per mantenere aggiornati i dati in BigQuery e gestire elementi come dati in arrivo in ritardo o potenziali duplicati, la pipeline utilizza operazioni MERGE DML (Data Manipulation Language) in background. Queste operazioni, sebbene efficienti, non sono istantanee. Esiste una latenza intrinseca durante l'elaborazione di queste unioni, soprattutto per gli aggiornamenti granulari. Durante questo intervallo di unione, le query su BigQuery potrebbero non acquisire i micro-aggiornamenti più recenti già visibili nell'interfaccia utente di Google Security Operations.

A causa dei fattori menzionati (dati in ritardo, gestione del riarricchimento e latenze di unione), una corrispondenza perfetta 1:1 tra BigQuery e le statistiche dell'interfaccia utente live in un secondo preciso potrebbe non verificarsi sempre. L'esportazione avanzata di BigQuery fornisce dati quasi in tempo reale, ottimizzati per casi d'uso come la ricerca di minacce, l'analisi personalizzata e la creazione di dashboard in cui l'aggiornamento dei dati in pochi minuti è fondamentale. Ai fini del controllo che richiedono una coerenza assoluta in un determinato momento, tieni conto della possibilità di differenze minime e temporanee.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.