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 i dati di threat intelligence archiviati in BigQuery per valutare la gravità e la credibilità delle potenziali minacce.
Analisi del comportamento degli utenti: identifica le attività anomale degli utenti 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 ML/AI avanzata: crea modelli personalizzati per la difesa predittiva e lo scoring del rischio automatizzato utilizzando i dati storici sulla sicurezza e BigQuery ML.
Conservazione dei dati a lungo termine: archivia i dati degli incidenti risolti in BigQuery per un'archiviazione a lungo termine conveniente, 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 simulazione dell'identità dei account di servizio.
Opzione 2: chiave JSON del service account. Questo metodo si basa su un file di chiave secret statico e di lunga durata.
Concedi ruoli IAM
La concessione delle autorizzazioni necessarie al tuo 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à (edit).
Fai clic su Aggiungi un altro ruolo e seleziona quanto segue:
BigQuery User (
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 ruolo è obbligatorio se configuriQuota Project IDnelle impostazioni di integrazione.
Fai clic su Salva.
Crea un account di servizio
Nella console Google Cloud , vai a IAM e amministrazione > Account di servizio.
Fai clic su addCrea 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.
Configura le credenziali di Workload Identity
Workload Identity è l'approccio consigliato perché utilizza token di accesso di breve durata utilizzando la simulazione dell'identità dei account di servizio.
Identifica l'identità univoca dell'istanza
Per stabilire una connessione, devi concedere alla tua istanza Google SecOps l'autorizzazione per simulare l'identità del tuo account di servizio.
In Google SecOps, vai a Content Hub > Integrazioni di risposta.
Seleziona l'integrazione di BigQuery e inserisci l'indirizzo email del tuo service account nel campo
Workload Identity Email.Fai clic su Salva > Verifica. Il test dovrebbe non riuscire.
Fai clic sul pulsante close_small accanto a Test e individua l'email di identità che inizia con
gke-init-python@...osoar-python@....Copia questo indirizzo email univoco.
Autorizza l'identità dell'istanza in Google Cloud
Nella console Google Cloud , vai a IAM e amministrazione > Account di servizio.
Seleziona il account di servizio di destinazione e vai a Autorizzazioni > Concedi l'accesso.
Incolla l'indirizzo email univoco nel campo Nuove entità e assegna il ruolo Creatore token account di servizio (
roles/iam.serviceAccountTokenCreator).
Configura una chiave JSON
I file di chiavi secret statici e di lunga durata richiedono la rotazione manuale. Utilizza questo metodo solo se l'autenticazione di Workload Identity non è disponibile.
Nella console Google Cloud , vai a IAM e amministrazione > Account di servizio e seleziona il tuo service account.
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.
Configura 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 del service account: utilizza
Service Account Json File Contentper fornire l'intera chiave in una sola volta.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 di Workload Identity. |
Service Account Json File Content |
Facoltativo. I contenuti completi del file JSON della chiave del account di servizio. Se configuri questo parametro, l'integrazione ignora i singoli parametri delle credenziali. |
Quota Project ID |
Facoltativo. L'ID progetto utilizzato per l'utilizzo e la fatturazione dell'API. Questo parametro è obbligatorio quando utilizzi 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 i contenuti completi del file JSON o un'Workload Identity.
| 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 Configura le integrazioni.
Se necessario, puoi 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 saperne di più sulle azioni, consulta Rispondi alle azioni in attesa dalla scrivania di lavoro ed Esegui un'azione manuale nel tuo caso.
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 richieste | 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 per l'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 richieste | 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
L'esempio seguente mostra l'output del risultato JSON ricevuto quando utilizzi 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 per l'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 per 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 richieste | 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 tabella seguente elenca il valore per l'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.