Integra BigQuery con Google SecOps

Questo documento spiega come integrare BigQuery con Google Security Operations.

Casi d'uso

L'integrazione di BigQuery utilizza le funzionalità di Google SecOps per supportare i seguenti casi d'uso:

  • Arricchimento della threat intelligence: arricchisci automaticamente gli avvisi di sicurezza con dati di threat intelligence archiviati in BigQuery per valutare la gravità e l'attendibilità di potenziali minacce.

  • Analisi del comportamento degli utenti: identifica l'attività utente anomala analizzando i log storici archiviati in BigQuery per rilevare minacce interne e account compromessi.

  • Analisi del data lake di sicurezza: utilizza le funzionalità di query di BigQuery per analizzare grandi volumi di dati di sicurezza aggregati da varie fonti per migliorare la ricerca delle minacce.

  • Analisi avanzata di ML/AI: crea modelli personalizzati per la difesa predittiva e lo scoring del rischio automatizzato utilizzando dati di sicurezza storici e BigQuery ML.

  • Conservazione dei dati a lungo termine: archivia i dati degli incidenti risolti in BigQuery per l'archiviazione a lungo termine a costi contenuti, supportando la conformità e gli audit forensi.

Prima di iniziare

Prima di configurare l'integrazione di BigQuery in Google SecOps, completa i seguenti passaggi preliminari:

  1. Concedi i ruoli Identity and Access Management necessari al tuo service account.

  2. Crea un service account.

  3. Scegli e configura uno dei seguenti metodi di autenticazione:

    • Opzione 1: Workload Identity (consigliata): questo metodo utilizza token di accesso temporanei di breve durata tramite la rappresentazione dell'account di servizio.

    • Opzione 2: chiave JSON del service account: questo metodo si basa su un file di chiave segreta statico e di lunga durata.

Concedi ruoli IAM

La concessione delle autorizzazioni necessarie al account di servizio consente all'integrazione di eseguire job e accedere ai tuoi dati. I seguenti ruoli standard sono gestiti da Google Cloud e vengono aggiornati automaticamente se i requisiti dell'API cambiano. Per assegnare questi ruoli al tuo account di servizio, completa i seguenti passaggi:

  1. Nella console Google Cloud , vai a IAM.

    Vai a IAM

  2. Individua il tuo account di servizio nell'elenco delle entità e fai clic su Modifica entità (modifica).

  3. Fai clic su Aggiungi un altro ruolo e seleziona quanto segue:

    • Utente BigQuery (roles/bigquery.user): consente all'integrazione di eseguire job, incluse le query, all'interno del progetto.

    • Visualizzatore dati BigQuery (roles/bigquery.dataViewer): consente all'integrazione di leggere dati e metadati da set di dati e tabelle.

    • Service Usage Consumer (roles/serviceusage.serviceUsageConsumer): questo è obbligatorio se configuri Quota Project ID nelle impostazioni di integrazione.

  4. Fai clic su Salva.

Crea un account di servizio

  1. Nella Google Cloud console, vai a IAM e amministrazione > Service Accounts.

    Vai a Service account

  2. Fai clic su AggiungiCrea service account.

  3. Fornisci un nome e una descrizione e fai clic su Crea e continua.

  4. Nel passaggio Concedi a questo account di servizio l'accesso al progetto, aggiungi i ruoli identificati nel passaggio precedente.

  5. Fai clic su Fine. Prendi nota dell'indirizzo email del account di servizio.

Configurare le credenziali di Workload Identity

Workload Identity è l'approccio consigliato perché utilizza token di accesso di breve durata tramite la simulazione dell'identità dei account di servizio.

Identificare l'identità univoca dell'istanza

Per stabilire una connessione è necessario concedere all'istanza Google SecOps l'autorizzazione a rappresentare il tuoaccount di serviziot.

  1. In Google SecOps, vai a Content Hub > Response Integrations.

  2. Seleziona l'integrazione BigQuery e inserisci l'email del tuo account di servizio nel campo Workload Identity Email.

  3. Fai clic su Salva > Test. Il test dovrebbe non riuscire.

  4. Fai clic sul pulsante close_small accanto a Test e individua l'email dell'identità che inizia con gke-init-python@... o soar-python@....

  5. Copia questo indirizzo email univoco.

Autorizza l'identità dell'istanza in Google Cloud

  1. Nella Google Cloud console, vai a IAM e amministrazione > Service Accounts.

    Vai a Service account

  2. Seleziona il account di servizio di destinazione e vai a Autorizzazioni > Concedi accesso.

  3. Incolla l'indirizzo email univoco nel campo Nuove entità e assegna il ruolo Creatore token service account (roles/iam.serviceAccountTokenCreator).

Configurare una chiave JSON

I file delle chiavi segrete statiche e di lunga durata richiedono la rotazione manuale. Utilizza questo metodo solo se l'autenticazione Workload Identity non è disponibile.

  1. Nella console Google Cloud , vai a IAM e amministrazione > Service account e seleziona il tuo account di servizio.

    Vai a Service account

  2. Vai alla scheda Chiavi e fai clic su Aggiungi chiave > Crea nuova chiave.

  3. Seleziona JSON e fai clic su Crea. Il file viene scaricato automaticamente sul computer.

Configurare i singoli parametri manuali

Se scegli di inserire le credenziali manualmente, tieni aperto il file della chiave JSON scaricato in un editor di testo per copiare i singoli valori richiesti nelle impostazioni di integrazione.

Parametri di integrazione

Per stabilire una connessione tra Google SecOps e BigQuery, devi configurare i seguenti parametri. L'integrazione supporta tre percorsi di autenticazione distinti. Scegli uno dei seguenti metodi per fornire le credenziali.

  • Workload Identity: utilizza Workload Identity Email e Quota Project ID.

  • File JSON dell'account di servizio: utilizza Service Account Json File Content per fornire l'intera chiave contemporaneamente.

  • Parametri individuali manuali: utilizza campi separati copiati manualmente da una chiave JSON.

Parametro Descrizione
API Root

Facoltativo.

La radice dell'API dell'istanza BigQuery (ad esempio, https://bigquery.googleapis.com).

Workload Identity Email

Facoltativo.

L'indirizzo email client del tuo account di servizio. Utilizzalo per l'autenticazione Workload Identity.

Service Account Json File Content

Facoltativo.

L'intero contenuto del file JSON della chiave dell'account di servizio.

Se configuri questo parametro, l'integrazione ignora i parametri delle singole credenziali.

Quota Project ID

Facoltativo.

L'ID progetto utilizzato per l'utilizzo e la fatturazione dell'API. Questo parametro è obbligatorio quando si utilizza l'autenticazione Workload Identity.

Project ID

Facoltativo.

L'ID progetto da scegliere come target in BigQuery.

Verify SSL

Obbligatorio.

Convalida il certificato SSL per la connessione. Abilitato per impostazione predefinita.

Parametri delle credenziali individuali

Utilizza i seguenti parametri solo se inserisci manualmente le credenziali anziché utilizzare l'intero contenuto del file JSON o un&#39Workload Identityo.

Parametro Descrizione
Account Type

Facoltativo.

Il valore trovato nel campo type della chiave JSON (in genere service_account).

Private Key ID

Facoltativo.

Il valore trovato nel campo private_key_id della chiave JSON.

Private Key

Facoltativo.

Il valore trovato nel campo private_key della chiave JSON.

Client Email

Facoltativo.

Il valore trovato nel campo client_email della chiave JSON.

Client ID

Facoltativo.

Il valore trovato nel campo client_id della chiave JSON.

Auth URI

Facoltativo.

Il valore trovato nel campo auth_uri della chiave JSON.

Il valore predefinito è https://accounts.google.com/o/oauth2/auth.

Token URI

Facoltativo.

Il valore trovato nel campo token_uri della chiave JSON.

Il valore predefinito è https://oauth2.googleapis.com/token.

Auth Provider X509 URL

Facoltativo.

Il valore trovato nel campo auth_provider_x509_cert_url della chiave JSON.

Client X509 URL

Facoltativo.

Il valore trovato nel campo client_x509_cert_url della chiave JSON.

Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configurare le integrazioni.

Se necessario, potrai apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supporto di più istanze.

Azioni

Per ulteriori informazioni sulle azioni, vedi Rispondere alle azioni in attesa dalla tua scrivania e Eseguire un'azione manuale.

Dindin

Utilizza l'azione Ping per testare la connettività a BigQuery.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

Nessuno.

Output azione

L'azione Ping fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Non disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Messaggi di output

L'azione Ping può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully connected to the Google BigQuery server with the provided connection parameters! Azione riuscita.
Failed to connect to the Google BigQuery server! Error is ERROR_REASON

Azione non riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Ping:

Nome del risultato dello script Valore
is_success True o False

Esegui query personalizzata

Utilizza l'azione Esegui query personalizzata per eseguire query personalizzate in BigQuery.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Esegui query personalizzata richiede i seguenti parametri:

Parametri Descrizione
Query

Obbligatorio.

La query SQL da eseguire.

Max Results To Return

Facoltativo.

Il numero di risultati da restituire per ogni risposta.

Il valore predefinito è 50.

Output azione

L'azione Esegui query personalizzata fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

Il seguente esempio mostra l'output del risultato JSON ricevuto quando si utilizza l'azione Esegui query personalizzata:

{
    "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
}
Messaggi di output

L'azione Esegui query personalizzata può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully executed query in Google BigQuery! Azione riuscita.
Error executing action "Run Custom Query". Reason: ERROR_REASON

Azione non riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Esegui query personalizzata:

Nome del risultato dello script Valore
is_success True o False

Esegui query SQL

Utilizza l'azione Esegui query SQL per eseguire query in BigQuery.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Esegui query SQL richiede i seguenti parametri:

Parametri Descrizione
Dataset Name

Obbligatorio.

Il nome del set di dati da utilizzare durante l'esecuzione delle query.

Query

Obbligatorio.

La query SQL da eseguire.

Max Results To Return

Facoltativo.

Il numero di risultati da restituire per ogni risposta.

Il valore predefinito è 50.

Output azione

L'azione Esegui query SQL fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Non disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

L'esempio seguente descrive l'output del risultato JSON ricevuto quando si utilizza l'azione Esegui query 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
}
Messaggi di output

L'azione Esegui query SQL può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully executed query in the BigQuery dataset DATASET_NAME. Azione riuscita.
Error executing action "Run SQL Query". Reason: ERROR_REASON

Azione non riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La seguente tabella elenca il valore dell'output del risultato dello script quando utilizzi l'azione Esegui query SQL:

Nome del risultato dello script Valore
is_success True o False

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