Questa pagina descrive come trasmettere flussi di risultati nuovi e aggiornati a un set di dati BigQuery utilizzando la funzione di esportazione di Security Command Center per BigQuery. I risultati esistenti non vengono inviati a BigQuery a meno che non vengano aggiornati.
BigQuery è il data warehouse di analisi di Google Cloud completamente gestito, economico e con scalabilità nell'ordine di petabyte che consente di eseguire analisi su grandi quantità di dati quasi in tempo reale. Puoi utilizzare BigQuery per eseguire query su risultati nuovi e aggiornati, filtrare i dati per trovare ciò che ti serve e generare report personalizzati. Per saperne di più su BigQuery, consulta la documentazione di BigQuery.
Panoramica
Quando abiliti questa funzionalità, i nuovi risultati scritti in Security Command Center vengono esportati in una tabella BigQuery quasi in tempo reale. Puoi quindi integrare i dati nei flussi di lavoro esistenti e creare analisi personalizzate. Puoi abilitare questa funzionalità a livello di organizzazione, cartella e progetto per esportare i risultati in base ai tuoi requisiti.
Questa funzionalità è il modo consigliato per esportare i risultati di Security Command Center in BigQuery, in quanto è completamente gestita e non richiede l'esecuzione di operazioni manuali o la scrittura di codice personalizzato.
Struttura del set di dati
Questa funzionalità aggiunge ogni nuovo risultato e i relativi aggiornamenti successivi come nuove righe nella tabella findings
, che è raggruppata in cluster per source_id
, finding_id
e event_time
.
Quando un risultato viene aggiornato, questa funzionalità crea più record dei risultati con gli stessi valori source_id
e finding_id
, ma con valori event_time
diversi.
Questa struttura del set di dati ti consente di visualizzare come cambia lo stato di ogni risultato nel tempo.
Tieni presente che il tuo set di dati potrebbe contenere voci duplicate. Per analizzarle, puoi utilizzare la clausola DISTINCT
, come mostrato nella prima query di esempio.
Ogni set di dati contiene una tabella findings
, che ha i seguenti campi:
Campo | Descrizione |
---|---|
source_id | Un identificatore univoco assegnato da Security Command Center all'origine di un risultato. Ad esempio, tutti i risultati dell'origine Cloud Anomaly Detection hanno lo stesso valore source_id. Esempio: 1234567890
|
finding_id | Identificatore univoco che rappresenta il risultato. È univoco all'interno di un'origine per un'organizzazione. È alfanumerico e contiene al massimo 32 caratteri. |
event_time | L'ora in cui si è verificato l'evento o l'ora in cui si è verificato un aggiornamento del risultato. Ad esempio, se il risultato rappresenta un firewall aperto, "event_time" acquisisce l'ora in cui il rilevatore crede che il firewall sia stato aperto.
Se il risultato viene risolto in seguito, il tempo indicato indica quando è stato risolto. Esempio: 2019-09-26 12:48:00.985000 UTC
|
risultato | Un record di dati di valutazione, come sicurezza, rischio, stato o privacy, che viene importato in Security Command Center per la presentazione, la notifica, l'analisi, il test dei criteri e l'applicazione. Ad esempio, una vulnerabilità cross-site scripting (XSS) in un'applicazione App Engine è una soluzione. Per saperne di più sui campi nidificati, consulta il riferimento API per l'oggetto Finding . |
risorsa | Informazioni relative alla risorsa Google Cloud associata a questo risultato. Per ulteriori informazioni sui campi nidificati, consulta il riferimento API per l'oggetto Resource . |
Costo
Ti verranno addebitati costi di BigQuery relativi a questa funzionalità. Per saperne di più, consulta la pagina relativa ai prezzi di BigQuery.
Prima di iniziare
Devi completare questi passaggi prima di attivare questa funzionalità.
Configurare le autorizzazioni
Per completare questa guida, devi disporre dei seguenti ruoli IAM (Identity and Access Management):
Nell'organizzazione, nella cartella o nel progetto da cui vuoi esportare i risultati, una delle seguenti opzioni:
- Editor esportazioni in BigQuery del Centro sicurezza (
roles/securitycenter.bigqueryExportsEditor
). - Amministratore Centro sicurezza (
roles/securitycenter.admin
).
Per scoprire di più sui ruoli di Security Command Center, vedi Controllo dell'accesso.
- Editor esportazioni in BigQuery del Centro sicurezza (
Nel set di dati BigQuery, Proprietario dati BigQuery (
roles/bigquery.dataOwner
).
Crea un set di dati BigQuery
Creare un set di dati BigQuery. Per scoprire di più, consulta la sezione Creazione di set di dati.
Pianifica la residenza dei dati
Se la Residenza dei dati è abilitata per Security Command Center, le configurazioni che definiscono le esportazioni dei flussi di dati verso le risorse BigQuery (BigQueryExport
) sono soggette al controllo della residenza dei dati e sono archiviate in una località di Security Command Center selezionata.
Per esportare in BigQuery i risultati in una località di Security Command Center, devi configurare l'esportazione di BigQuery nella stessa località di Security Command Center dei risultati.
Poiché i filtri utilizzati nelle esportazioni di BigQuery possono contenere dati soggetti a controlli di residenza, assicurati di specificare la posizione corretta prima di crearli. Security Command Center non limita la località in cui vengono create le esportazioni.
Le esportazioni BigQuery vengono archiviate solo nella posizione in cui sono state create e non possono essere visualizzate o modificate in altre posizioni.
Dopo aver creato un'esportazione BigQuery, non puoi modificarne la posizione. Per cambiare la località, devi eliminare BigQuery Export e ricrearla nella nuova posizione.
Per recuperare un'esportazione BigQuery utilizzando le chiamate API, devi specificare la località nel nome completo della risorsa di bigQueryExport
. Ad esempio:
GET https://securitycenter.googleapis.com/v2/{name=organizations/123/locations/eu/bigQueryExports/my-export-01}
Analogamente, per recuperare un'esportazione BigQuery utilizzando gcloud CLI, devi specificare la località nel nome completo della risorsa della configurazione o utilizzando il flag --locations
. Ad esempio:
gcloud scc scc bqexports get myBigQueryExport organizations/123 \ --location=locations/us
Esporta i risultati da Security Command Center a BigQuery
Per esportare i risultati, abilita prima l'API Security Command Center.
Abilitazione dell'API Security Command Center
Per abilitare l'API Security Command Center:
Vai alla pagina Libreria API nella console Google Cloud.
Seleziona il progetto per cui vuoi abilitare l'API Security Command Center.
Nella casella Cerca, inserisci
Security Command Center
, quindi fai clic su Security Command Center nei risultati di ricerca.Nella pagina dell'API che viene visualizzata, fai clic su Abilita.
L'API Security Command Center è abilitata per il tuo progetto. Quindi, utilizzerai gcloud CLI per creare una nuova configurazione di esportazione in BigQuery.
Concessione dell'accesso al perimetro nei Controlli di servizio VPC
Se utilizzi Controlli di servizio VPC e il tuo set di dati BigQuery fa parte di un progetto all'interno di un perimetro di servizio, devi concedere l'accesso ai progetti per esportare i risultati.
Per concedere l'accesso ai progetti, crea regole in entrata e in uscita per le entità e i progetti da cui stai esportando i risultati. Le regole
consentono l'accesso alle risorse protette e permettono a BigQuery di verificare che
gli utenti dispongano dell'autorizzazione setIamPolicy
sul set di dati
BigQuery.
Prima di configurare una nuova esportazione in BigQuery
Vai alla pagina Controlli di servizio VPC nella console Google Cloud.
Se necessario, seleziona la tua organizzazione.
Fai clic sul nome del perimetro di servizio che vuoi modificare.
Per trovare il perimetro di servizio da modificare, puoi verificare nei log le voci che mostrano violazioni
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
. In queste voci, controlla il camposervicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
.Fai clic su Modifica perimetro.
Nel menu di navigazione, fai clic su Criterio in entrata.
Per configurare le regole in entrata per gli utenti o gli account di servizio, utilizza i seguenti parametri:
- Attributi FROM del client API:
- Nel menu a discesa Identità, scegli Identità selezionate.
- Nel menu a discesa Origine, seleziona Tutte le origini.
- Fai clic su Seleziona e inserisci l'entità utilizzata per chiamare l'API Security Command Center.
- Attributi TO di servizi e risorse Google Cloud:
- Nel menu a discesa Progetto, scegli Progetti selezionati.
- Fai clic su Seleziona e inserisci il progetto che contiene il set di dati BigQuery .
- Nel menu a discesa Servizi, scegli Servizi selezionati, quindi seleziona API BigQuery.
- Nel menu a discesa Metodi, scegli Tutte le azioni.
- Attributi FROM del client API:
Fai clic su Salva.
Nel menu di navigazione, fai clic su Criterio in uscita.
Fai clic su Aggiungi regola.
Per configurare le regole in uscita per gli account utente o di servizio, inserisci i seguenti parametri:
- Attributi FROM del client API:
- Nel menu a discesa Identità, scegli Identità selezionate.
- Fai clic su Seleziona e inserisci l'entità utilizzata per chiamare l'API Security Command Center.
- Attributi TO di servizi e risorse Google Cloud:
- Nel menu a discesa Progetto, scegli Tutti i progetti.
- Nel menu a discesa Servizi, scegli Servizi selezionati, quindi seleziona API BigQuery.
- Nel menu a discesa Metodi, scegli Tutte le azioni.
- Attributi FROM del client API:
Fai clic su Salva.
Configurare una nuova esportazione in BigQuery
In questo passaggio creerai una configurazione di esportazione per esportare i risultati in un'istanza BigQuery. Puoi creare configurazioni di esportazione a livello di progetto, cartella o organizzazione. Ad esempio, se vuoi esportare i risultati da un progetto a un set di dati BigQuery, devi creare una configurazione di esportazione a livello di progetto per esportare solo i risultati relativi al progetto. Facoltativamente, puoi specificare i filtri per esportare solo determinati risultati.
Assicurati di creare le configurazioni di esportazione al livello appropriato. Ad esempio, se crei una configurazione di esportazione nel progetto B per esportare i risultati dal progetto A e definisci filtri come resource.project_display_name: project-a-id
, la configurazione non esporta nessun risultato.
Puoi creare un massimo di 500 configurazioni di esportazione in BigQuery per la tua organizzazione. Puoi utilizzare lo stesso set di dati per più configurazioni di esportazione. Se utilizzi lo stesso set di dati, tutti gli aggiornamenti verranno apportati alla stessa tabella dei risultati.
Quando crei la prima configurazione di esportazione, viene creato automaticamente un account di servizio. Questo account di servizio è necessario per creare o aggiornare la tabella dei risultati all'interno di un set di dati e per esportare i risultati nella tabella. Ha il formato service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gservicaccount.com
e gli viene concesso il ruolo Editor dati BigQuery (roles/bigquery.dataEditor
) a livello di set di dati BigQuery.
gcloud
Vai alla console Google Cloud.
Seleziona il progetto per il quale hai abilitato l'API Security Command Center.
Fai clic su Attiva Cloud Shell.
Per creare una nuova configurazione di esportazione, esegui questo comando:
gcloud scc bqexports create BIG_QUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Sostituisci quanto segue:
BIG_QUERY_EXPORT
con un nome per questa configurazione di esportazione.DATASET_NAME
con il nome del set di dati BigQuery, ad esempioprojects/<PROJECT_ID>/datasets/<DATASET_ID>
.FOLDER_ID
,ORGANIZATION_ID
oPROJECT_ID
con il nome della cartella, dell'organizzazione o del progetto. Devi impostare una di queste opzioni. Per le cartelle e le organizzazioni, il nome è l'ID cartella o l'ID organizzazione. Per i progetti, il nome è il numero o l'ID progetto.LOCATION
: se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui creare l'esportazione BigQuery. La configurazione di esportazione BigQuery è archiviata in questa posizione. Nell'esportazione sono inclusi solo i risultati provenienti da questa località.Se la residenza dei dati non è abilitata, se specifichi il flag
--location
viene creata l'esportazione BigQuery utilizzando l'API Security Command Center v2 e l'unico valore valido per il flag èglobal
.DESCRIPTION
con una descrizione leggibile della configurazione di esportazione. Questa variabile è facoltativa.FILTER
con un'espressione che definisce i risultati da includere nell'esportazione. Ad esempio, se vuoi filtrare in base alla categoria XSS_SCRIPTING, digita"category=\"XSS_SCRIPTING\"
. Questa variabile è facoltativa.
Java
Per eseguire l'autenticazione in Security Command Center, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente utilizza l'API v1. Per modificare
l'esempio per la versione v2, sostituisci v1
con v2
e aggiungi
/locations/LOCATION
al nome della risorsa.
Per la maggior parte delle risorse, aggiungi /locations/LOCATION
al nome della risorsa dopo /PARENT/PARENT_ID
, dove PARENT
è organizations
, folders
o projects
.
Per i risultati, aggiungi /locations/LOCATION
al nome della risorsa dopo /sources/SOURCE_ID
, dove SOURCE_ID
è l'ID del servizio Security Command Center che ha inviato il risultato.
Python
Per eseguire l'autenticazione in Security Command Center, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente utilizza l'API v1. Per modificare
l'esempio per la versione v2, sostituisci v1
con v2
e aggiungi
/locations/LOCATION
al nome della risorsa.
Per la maggior parte delle risorse, aggiungi /locations/LOCATION
al nome della risorsa dopo /PARENT/PARENT_ID
, dove PARENT
è organizations
, folders
o projects
.
Per i risultati, aggiungi /locations/LOCATION
al nome della risorsa dopo /sources/SOURCE_ID
, dove SOURCE_ID
è l'ID del servizio Security Command Center che ha inviato il risultato.
Dovresti visualizzare i risultati nel set di dati BigQuery entro circa 15 minuti dalla creazione della configurazione di esportazione. Una volta creata la tabella BigQuery, tutti i risultati nuovi e aggiornati che corrispondono al filtro e all'ambito verranno visualizzati nella tabella quasi in tempo reale.
Per esaminare i risultati, consulta Esaminare i risultati.
Crea una regola in entrata per la nuova esportazione in BigQuery
Se utilizzi Controlli di servizio VPC e il tuo set di dati BigQuery fa parte di un progetto all'interno di un perimetro di servizio, devi creare una regola in entrata per una nuova esportazione in BigQuery.
Riapri il perimetro di servizio da Configura una nuova esportazione in BigQuery.
Fai clic su Criterio in entrata.
Fai clic su Aggiungi regola.
Per configurare la regola in entrata per le configurazioni di esportazione, inserisci i seguenti parametri:
- Attributi FROM del client API:
- Nel menu a discesa Origine, seleziona Tutte le origini.
- Nel menu a discesa Identità, scegli Identità selezionate.
- Fai clic su Seleziona, quindi inserisci il nome dell'account di servizio di configurazione di BigQuery Export:
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
- Attributi TO di servizi/risorse di Google Cloud:
- Nel menu a discesa Progetto, scegli Progetti selezionati.
- Fai clic su Seleziona e poi seleziona il progetto che contiene il set di dati BigQuery.
- Nel menu a discesa Servizi, scegli Servizi selezionati, quindi seleziona API BigQuery.
- Nel menu a discesa Metodi, scegli Tutte le azioni.
- Attributi FROM del client API:
Nel menu di navigazione, fai clic su Salva.
I progetti, gli utenti e gli account di servizio selezionati possono ora accedere alle risorse protette ed esportare i risultati.
Se hai seguito tutti i passaggi di questa guida e le esportazioni funzionano correttamente, ora puoi eliminare quanto segue:
- La regola in entrata per l'entità
- La regola in uscita per l'entità
Queste regole erano necessarie solo per configurare la configurazione di esportazione. Tuttavia, affinché le configurazioni di esportazione continuino a funzionare, devi mantenere la regola in entrata creata in precedenza, che consente a Security Command Center di esportare i risultati nel set di dati BigQuery dietro il perimetro di servizio.
Visualizzare i dettagli di una configurazione di esportazione
gcloud
Vai alla console Google Cloud.
Seleziona il progetto per il quale hai abilitato l'API Security Command Center.
Fai clic su Attiva Cloud Shell.
Per verificare i dettagli della configurazione di esportazione, esegui questo comando:
gcloud scc bqexports get BIG_QUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Sostituisci quanto segue:
BIG_QUERY_EXPORT
con il nome di questa configurazione di esportazione.FOLDER_ID
,ORGANIZATION_ID
oPROJECT_ID
con il nome della cartella, dell'organizzazione o del progetto. Devi impostare una di queste opzioni. Per le cartelle e le organizzazioni, il nome è l'ID cartella o l'ID organizzazione. Per i progetti, il nome è il numero o l'ID progetto.LOCATION
: obbligatorio se è abilitata la residenza dei dati o se la risorsaBigQueryExport
è stata creata utilizzando l'API v2.Se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui è archiviata l'esportazione.
Se la residenza dei dati non è abilitata, includi
/locations/LOCATION
solo se la risorsaBigQueryExport
è stata creata utilizzando l'API Security Command Center v2. In tal caso, l'unica località valida èglobal
.
Ad esempio, per ottenere una configurazione di esportazione denominata
my-bq-export
da un'organizzazione con l'ID organizzazione impostato su123
, esegui:gcloud scc bqexports get my-bq-export --organization=123
Java
Per eseguire l'autenticazione in Security Command Center, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente utilizza l'API v1. Per modificare
l'esempio per la versione v2, sostituisci v1
con v2
e aggiungi
/locations/LOCATION
al nome della risorsa.
Per la maggior parte delle risorse, aggiungi /locations/LOCATION
al nome della risorsa dopo /PARENT/PARENT_ID
, dove PARENT
è organizations
, folders
o projects
.
Per i risultati, aggiungi /locations/LOCATION
al nome della risorsa dopo /sources/SOURCE_ID
, dove SOURCE_ID
è l'ID del servizio Security Command Center che ha inviato il risultato.
Python
Per eseguire l'autenticazione in Security Command Center, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente utilizza l'API v1. Per modificare
l'esempio per la versione v2, sostituisci v1
con v2
e aggiungi
/locations/LOCATION
al nome della risorsa.
Per la maggior parte delle risorse, aggiungi /locations/LOCATION
al nome della risorsa dopo /PARENT/PARENT_ID
, dove PARENT
è organizations
, folders
o projects
.
Per i risultati, aggiungi /locations/LOCATION
al nome della risorsa dopo /sources/SOURCE_ID
, dove SOURCE_ID
è l'ID del servizio Security Command Center che ha inviato il risultato.
Aggiornare una configurazione di esportazione
Se necessario, puoi modificare il filtro, il set di dati e la descrizione di una configurazione di esportazione esistente. Non puoi modificare il nome della configurazione di esportazione.
gcloud
Vai alla console Google Cloud.
Seleziona il progetto per il quale hai abilitato l'API Security Command Center.
Fai clic su Attiva Cloud Shell.
Per aggiornare una configurazione di esportazione, esegui questo comando:
gcloud scc bqexports update BIG_QUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Sostituisci quanto segue:
BIG_QUERY_EXPORT
con il nome della configurazione di esportazione che vuoi aggiornare.DATASET_NAME
con il nome del set di dati BigQuery, ad esempioprojects/<PROJECT_ID>/datasets/<DATASET_ID>
.FOLDER_ID
,ORGANIZATION_ID
oPROJECT_ID
con il nome della cartella, dell'organizzazione o del progetto. Devi impostare una di queste opzioni. Per le cartelle e le organizzazioni, il nome è l'ID cartella o l'ID organizzazione. Per i progetti, il nome è il numero o l'ID progetto.LOCATION
: obbligatorio se è abilitata la residenza dei dati o se la risorsaBigQueryExport
è stata creata utilizzando l'API v2.Se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui è archiviata l'esportazione.
Se la residenza dei dati non è abilitata, includi
/locations/LOCATION
nel nome completo o specifica il flag--location
solo se la risorsaBigQueryExport
è stata creata utilizzando l'API Security Command Center v2, in questo caso, l'unica località valida èglobal
.DESCRIPTION
con una descrizione leggibile della configurazione di esportazione. Questa variabile è facoltativa.FILTER
con un'espressione che definisce i risultati da includere nell'esportazione. Ad esempio, se vuoi filtrare in base alla categoria XSS_SCRIPTING, digita"category=\"XSS_SCRIPTING\"
. Questa variabile è facoltativa.
Java
Per eseguire l'autenticazione in Security Command Center, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente utilizza l'API v1. Per modificare
l'esempio per la versione v2, sostituisci v1
con v2
e aggiungi
/locations/LOCATION
al nome della risorsa.
Per la maggior parte delle risorse, aggiungi /locations/LOCATION
al nome della risorsa dopo /PARENT/PARENT_ID
, dove PARENT
è organizations
, folders
o projects
.
Per i risultati, aggiungi /locations/LOCATION
al nome della risorsa dopo /sources/SOURCE_ID
, dove SOURCE_ID
è l'ID del servizio Security Command Center che ha inviato il risultato.
Python
Per eseguire l'autenticazione in Security Command Center, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente utilizza l'API v1. Per modificare
l'esempio per la versione v2, sostituisci v1
con v2
e aggiungi
/locations/LOCATION
al nome della risorsa.
Per la maggior parte delle risorse, aggiungi /locations/LOCATION
al nome della risorsa dopo /PARENT/PARENT_ID
, dove PARENT
è organizations
, folders
o projects
.
Per i risultati, aggiungi /locations/LOCATION
al nome della risorsa dopo /sources/SOURCE_ID
, dove SOURCE_ID
è l'ID del servizio Security Command Center che ha inviato il risultato.
Visualizza tutte le configurazioni di esportazione
Puoi visualizzare tutte le configurazioni di esportazione all'interno della tua organizzazione, cartella o progetto.
gcloud
Vai alla console Google Cloud.
Seleziona il progetto per il quale hai abilitato l'API Security Command Center.
Fai clic su Attiva Cloud Shell.
Per elencare le configurazioni di esportazione, esegui questo comando:
gcloud scc bqexports list \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--limit=LIMIT] \ [--page-size=PAGE_SIZE]
Sostituisci quanto segue:
FOLDER_ID
,ORGANIZATION_ID
oPROJECT_ID
con il nome della cartella, dell'organizzazione o del progetto. Devi impostare una di queste opzioni. Per le cartelle e le organizzazioni, il nome è l'ID cartella o l'ID organizzazione. Per i progetti, il nome è il numero o l'ID progetto.Se specifichi un ID organizzazione, l'elenco include tutte le configurazioni di esportazione definite in questa organizzazione, comprese quelle a livello di cartella e progetto. Se specifichi un ID cartella, l'elenco include tutte le configurazioni di esportazione definite a livello di cartella e nei progetti all'interno di quella cartella. Se specifichi un numero di progetto o un ID progetto, l'elenco include tutte le configurazioni di esportazione solo per quel progetto.
LOCATION
: obbligatorio se è abilitata la residenza dei dati o se le risorseBigQueryExport
sono state create utilizzando l'API v2.Se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui sono archiviate le esportazioni.
Se la residenza dei dati non è abilitata, con il flag
--location
vengono elencate solo le risorseBigQueryExport
che sono state create utilizzando l'API Security Command Center v2 e l'unica località valida èglobal
.LIMIT
con il numero di configurazioni di esportazione che vuoi visualizzare. Questa variabile è facoltativa.PAGE_SIZE
con un valore per la dimensione della pagina. Questa variabile è facoltativa.
Java
Per eseguire l'autenticazione in Security Command Center, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente utilizza l'API v1. Per modificare
l'esempio per la versione v2, sostituisci v1
con v2
e aggiungi
/locations/LOCATION
al nome della risorsa.
Per la maggior parte delle risorse, aggiungi /locations/LOCATION
al nome della risorsa dopo /PARENT/PARENT_ID
, dove PARENT
è organizations
, folders
o projects
.
Per i risultati, aggiungi /locations/LOCATION
al nome della risorsa dopo /sources/SOURCE_ID
, dove SOURCE_ID
è l'ID del servizio Security Command Center che ha inviato il risultato.
Python
Per eseguire l'autenticazione in Security Command Center, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente utilizza l'API v1. Per modificare
l'esempio per la versione v2, sostituisci v1
con v2
e aggiungi
/locations/LOCATION
al nome della risorsa.
Per la maggior parte delle risorse, aggiungi /locations/LOCATION
al nome della risorsa dopo /PARENT/PARENT_ID
, dove PARENT
è organizations
, folders
o projects
.
Per i risultati, aggiungi /locations/LOCATION
al nome della risorsa dopo /sources/SOURCE_ID
, dove SOURCE_ID
è l'ID del servizio Security Command Center che ha inviato il risultato.
Eliminare una configurazione di esportazione
Se non hai più bisogno di una configurazione di esportazione, puoi eliminarla.
gcloud
Vai alla console Google Cloud.
Seleziona il progetto per il quale hai abilitato l'API Security Command Center.
Fai clic su Attiva Cloud Shell.
Per eliminare una configurazione di esportazione, esegui questo comando:
gcloud scc bqexports delete BIG_QUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Sostituisci quanto segue:
BIG_QUERY_EXPORT
con un nome per la configurazione di esportazione da eliminare.FOLDER_ID
,ORGANIZATION_ID
oPROJECT_ID
con il nome della cartella, dell'organizzazione o del progetto. Devi impostare una di queste opzioni. Per le cartelle e le organizzazioni, il nome è l'ID cartella o l'ID organizzazione. Per i progetti, il nome è il numero o l'ID progetto.LOCATION
: obbligatorio se è abilitata la residenza dei dati o se la risorsaBigQueryExport
è stata creata utilizzando l'API v2.Se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui è archiviata l'esportazione.
Se la residenza dei dati non è abilitata, includi
/locations/LOCATION
solo se la risorsaBigQueryExport
è stata creata utilizzando l'API Security Command Center v2. In tal caso, l'unica località valida èglobal
.
Ad esempio, per eliminare una configurazione di esportazione denominata
my-bq-export
da un'organizzazione con l'ID organizzazione impostato su123
, esegui:gcloud scc bqexports delete my-bq-export --organization=123
Java
Per eseguire l'autenticazione in Security Command Center, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente utilizza l'API v1. Per modificare
l'esempio per la versione v2, sostituisci v1
con v2
e aggiungi
/locations/LOCATION
al nome della risorsa.
Per la maggior parte delle risorse, aggiungi /locations/LOCATION
al nome della risorsa dopo /PARENT/PARENT_ID
, dove PARENT
è organizations
, folders
o projects
.
Per i risultati, aggiungi /locations/LOCATION
al nome della risorsa dopo /sources/SOURCE_ID
, dove SOURCE_ID
è l'ID del servizio Security Command Center che ha inviato il risultato.
Python
Per eseguire l'autenticazione in Security Command Center, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente utilizza l'API v1. Per modificare
l'esempio per la versione v2, sostituisci v1
con v2
e aggiungi
/locations/LOCATION
al nome della risorsa.
Per la maggior parte delle risorse, aggiungi /locations/LOCATION
al nome della risorsa dopo /PARENT/PARENT_ID
, dove PARENT
è organizations
, folders
o projects
.
Per i risultati, aggiungi /locations/LOCATION
al nome della risorsa dopo /sources/SOURCE_ID
, dove SOURCE_ID
è l'ID del servizio Security Command Center che ha inviato il risultato.
Dopo aver eliminato la configurazione di esportazione, puoi rimuovere i dati da Looker Studio. Per maggiori informazioni, consulta Rimuovere, eliminare e ripristinare un'origine dati.
Esamina i risultati in BigQuery
Dopo aver creato una configurazione di esportazione, i nuovi risultati vengono esportati nel set di dati BigQuery nel progetto specificato.
Per esaminare i risultati in BigQuery:
Vai al progetto in BigQuery.
Se non ti trovi nel progetto corretto, segui questi passaggi:
- Nella barra degli strumenti, fai clic sul selettore di progetti .
- Accanto a Seleziona da, seleziona la tua organizzazione.
- Seleziona il tuo progetto nell'elenco.
Nel riquadro Explorer, espandi il nodo del tuo progetto.
Espandi il set di dati.
Fai clic sulla tabella Risultati.
Nella scheda che si apre, fai clic su Anteprima. Viene visualizzato un set di dati di esempio.
Query utili
Questa sezione fornisce query di esempio per l'analisi dei dati dei risultati. Negli esempi seguenti, sostituisci DATASET
con il nome assegnato al tuo set di dati e PROJECT_ID
con il nome del progetto.
Per risolvere eventuali errori riscontrati, consulta Messaggi di errore.
Il numero di nuovi risultati creati e aggiornati ogni giorno
SELECT
FORMAT_DATETIME("%Y-%m-%d", event_time) AS date,
count(DISTINCT finding_id)
FROM `PROJECT_ID.DATASET.findings`
GROUP BY date
ORDER BY date DESC
Il record dei risultati più recenti per ogni risultato
SELECT
* EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
)
WHERE row = 1
Risultati attuali attivi, ordinati per data
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
ORDER BY event_time DESC
Risultati attuali presenti in un progetto
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
WHERE resource.project_display_name = 'PROJECT'
Sostituisci PROJECT
con il nome del progetto.
Risultati attuali che si trovano in una cartella
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
CROSS JOIN UNNEST(resource.folders) AS folder
WHERE folder.resource_folder_display_name = 'FOLDER'
Sostituisci FOLDER
con il nome della cartella.
Risultati attuali dello scanner Logging Scanner
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
CROSS JOIN UNNEST(finding.source_properties) AS source_property
WHERE source_property.key = "ScannerName"
AND source_property.value = "LOGGING_SCANNER"
Risultati attivi correnti di tipo Persistence: IAM Anomalous Grant
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
AND finding.category = "Persistence: IAM Anomalous Grant"
Correlare i risultati attivi di un determinato tipo con Cloud Audit Logs
Questa query di esempio consente di esaminare i risultati anomali delle concessioni IAM di Event Threat Detection utilizzando Cloud Audit Logs, visualizzando la sequenza di azioni dell'attività di amministrazione del concessore durante la finestra temporale che precede l'azione anomala di concessione IAM. La seguente query mette in correlazione i log dell'attività di amministrazione tra un'ora prima e un'ora dopo il timestamp del risultato.
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT
finding_id,
ANY_VALUE(event_time) as event_time,
ANY_VALUE(finding.access.principal_email) as grantor,
JSON_VALUE_ARRAY(ANY_VALUE(finding.source_properties_json), '$.properties.sensitiveRoleGrant.members') as grantees,
ARRAY_AGG(
STRUCT(
timestamp,
IF(timestamp < event_time, 'before', 'after') as timeline,
protopayload_auditlog.methodName,
protopayload_auditlog.resourceName,
protopayload_auditlog.serviceName
)
ORDER BY timestamp ASC
) AS recent_activity
FROM (
SELECT
f.*,
a.*,
FROM latestFindings AS f
LEFT JOIN `PROJECT_ID.DATASET.cloudaudit_googleapis_com_activity` AS a
ON a.protopayload_auditlog.authenticationInfo.principalEmail = f.finding.access.principal_email
WHERE f.finding.state = "ACTIVE"
AND f.finding.category = "Persistence: IAM Anomalous Grant"
AND a.timestamp >= TIMESTAMP_SUB(f.event_time, INTERVAL 1 HOUR)
AND a.timestamp <= TIMESTAMP_ADD(f.event_time, INTERVAL 1 HOUR)
)
GROUP BY
finding_id
ORDER BY
event_time DESC
L'output è simile al seguente:
Creare grafici in Looker Studio
Looker Studio consente di creare dashboard e report interattivi.
In generale, ti vengono addebitati costi di utilizzo di BigQuery quando accedi a BigQuery tramite Looker Studio. Per saperne di più, consulta Visualizzare i dati di BigQuery utilizzando Looker Studio.
Per creare un grafico che visualizzi i dati dei risultati per gravità e categoria:
- Apri Looker Studio e accedi.
- Se richiesto, fornisci informazioni aggiuntive e imposta altre preferenze. Leggi i Termini di servizio e, se ti soddisfa, continua.
- Fai clic su Report vuoto.
- Nella scheda Connessione ai dati, fai clic sulla scheda BigQuery.
- Se richiesto, autorizza Looker Studio ad accedere ai progetti BigQuery.
- Connettiti ai dati dei risultati:
- Per Progetto, seleziona il progetto per il tuo set di dati. In alternativa, nella scheda I miei progetti, inserisci il tuo ID progetto per cercarlo.
- In Set di dati, fai clic sul nome del set di dati.
- In Tabella, fai clic su Risultati.
- Fai clic su Aggiungi.
- Nella finestra di dialogo, fai clic su Aggiungi a report.
- Dopo aver aggiunto il report, fai clic su Aggiungi un grafico.
Fai clic su Grafico a colonne in pila, quindi fai clic sull'area in cui vuoi posizionarlo.
Nel riquadro Grafico > a barre, nella scheda Dati, imposta i seguenti campi:
- Nel campo Dimensione, seleziona finding.severity.
- Nel campo Dimensione di distribuzione, seleziona finding.category.
Il report viene aggiornato in modo da mostrare più colonne con i risultati suddivisi per gravità e categoria.
Passaggi successivi
Scopri come eseguire una query in BigQuery.