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:
Concedi i ruoli Identity and Access Management necessari al tuo service account.
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:
Nella console Google Cloud , vai a IAM.
Individua il tuo account di servizio nell'elenco delle entità e fai clic su Modifica entità (modifica).
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 configuriQuota Project IDnelle impostazioni di integrazione.
Fai clic su Salva.
Crea un account di servizio
Nella Google Cloud console, vai a IAM e amministrazione > Service Accounts.
Fai clic su AggiungiCrea service account.
Fornisci un nome e una descrizione e fai clic su Crea e continua.
Nel passaggio Concedi a questo account di servizio l'accesso al progetto, aggiungi i ruoli identificati nel passaggio precedente.
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.
In Google SecOps, vai a Content Hub > Response Integrations.
Seleziona l'integrazione BigQuery e inserisci l'email del tuo account di servizio nel campo
Workload Identity Email.Fai clic su Salva > Test. Il test dovrebbe non riuscire.
Fai clic sul pulsante close_small accanto a Test e individua l'email dell'identità che inizia con
gke-init-python@...osoar-python@....Copia questo indirizzo email univoco.
Autorizza l'identità dell'istanza in Google Cloud
Nella Google Cloud console, vai a IAM e amministrazione > Service Accounts.
Seleziona il account di servizio di destinazione e vai a Autorizzazioni > Concedi accesso.
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.
Nella console Google Cloud , vai a IAM e amministrazione > Service account e seleziona il tuo account di servizio.
Vai alla scheda Chiavi e fai clic su Aggiungi chiave > Crea nuova chiave.
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 EmaileQuota Project ID.File JSON dell'account di servizio: utilizza
Service Account Json File Contentper 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,
|
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'Workload Identityo.
| Parametro | Descrizione |
|---|---|
Account Type |
Facoltativo. Il valore trovato nel campo |
Private Key ID |
Facoltativo. Il valore trovato nel campo |
Private Key |
Facoltativo. Il valore trovato nel campo |
Client Email |
Facoltativo. Il valore trovato nel campo |
Client ID |
Facoltativo. Il valore trovato nel campo |
Auth URI |
Facoltativo. Il valore trovato nel campo Il valore predefinito è
|
Token URI |
Facoltativo. Il valore trovato nel campo Il valore predefinito è |
Auth Provider X509 URL |
Facoltativo. Il valore trovato nel campo
|
Client X509 URL |
Facoltativo. Il valore trovato nel campo |
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 è |
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 è |
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.