Esportare in blocco i risultati in BigQuery

Il documento descrive come avviare esportazioni collettive on demand dei risultati di Security Command Center in BigQuery.

BigQuery è il data warehouse di analisi di Google Cloudcompletamente gestito, su scala petabyte e dai costi contenuti, che ti consente di eseguire analisi su vaste quantità di dati quasi in tempo reale. Per scoprire di più su BigQuery, consulta la documentazione di BigQuery.

Panoramica

Questa funzionalità fornisce un'istantanea dei risultati fino a un determinato momento. Questa funzionalità integra l'esportazione continua di BigQuery per fornire analisi e report completi.

Con le esportazioni collettive puoi:

Struttura del set di dati

I risultati vengono esportati in BigQuery come righe nella tabella findings, che è raggruppata per source_id, finding_id e event_time.

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 di 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 ritiene che il firewall sia stato aperto. Se il risultato viene risolto in un secondo momento, questa data/ora riflette il momento in cui è stato risolto.

Esempio: 2019-09-26 12:48:00.985000 UTC

bulk_export_id

Per le esportazioni collettive (Anteprima), si tratta di un UUID.

Per le esportazioni continue, questo campo è vuoto.

finding

Un record di dati di valutazione come sicurezza, rischio, integrità o privacy, che viene importato in Security Command Center per la presentazione, la notifica, l'analisi, il test delle norme e l'applicazione. Ad esempio, una vulnerabilità cross-site scripting (XSS) in un'applicazione App Engine è un risultato.

Per maggiori informazioni sui campi nidificati, consulta il riferimento API per l'oggetto Finding.

resource

Informazioni relative alla risorsa Google Cloud associata a questo risultato.

Per maggiori informazioni sui campi nidificati, consulta il riferimento API per l'oggetto Resource.

Costo

Per l'archiviazione dei dati in BigQuery, ti vengono addebitati costi BigQuery correlati a questa funzionalità. Per ulteriori informazioni, consulta la pagina Prezzi dello spazio di archiviazione 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):

Crea un set di dati BigQuery

Crea un set di dati BigQuery seguendo i passaggi descritti in Creare set di dati.

Abilita l'API Security Command Center

Per esportare i risultati, devi abilitare l'API Security Command Center seguendo questi passaggi:

  1. Vai alla pagina Libreria API nella console Google Cloud .

    Vai alla libreria API

  2. Seleziona il progetto per cui vuoi abilitare l'API Security Command Center.

  3. Nel campo Cerca, inserisci Security Command Center e poi fai clic su Security Command Center nei risultati di ricerca.

  4. Nella pagina dell'API visualizzata, fai clic su Abilita.

L'API Security Command Center è abilitata per il tuo progetto.

Concedi l'accesso al perimetro in Controlli di servizio VPC

Se utilizzi Controlli di servizio VPC, consulta Concedere l'accesso al perimetro in Controlli di servizio VPC e segui questi passaggi, se necessario.

Questo passaggio deve essere ripetuto per ogni utente che crea un'esportazione collettiva per un determinato perimetro di servizio.

Crea una regola di ingresso per la nuova esportazione collettiva BigQuery

Se utilizzi Controlli di servizio VPC, consulta Creare una regola di ingresso per la nuova esportazione in BigQuery e segui questi passaggi, se necessario.

Limitazioni per le esportazioni collettive di BigQuery

Tieni presente i seguenti vincoli quando crei esportazioni collettive BigQuery:

  • Per una singola organizzazione sono consentite solo tre esportazioni collettive simultanee in un determinato momento.
  • Se richiedi più esportazioni collettive non simultanee nello stesso set di dati BigQuery, i risultati più recenti all'interno dell'esportazione vengono aggiunti alla tabella findings di BigQuery. I risultati non vengono sovrascritti.

Creare un'esportazione collettiva BigQuery

Un'esportazione collettiva dei risultati può essere eseguita solo a livello di organizzazione.

Per avviare un'esportazione collettiva dei risultati in un'istanza BigQuery, utilizza lagcloud CLId e segui questi passaggi:

  1. Vai alla Google Cloud console.

    Vai alla console Google Cloud

  2. Seleziona il progetto per il quale hai abilitato l'API Security Command Center.

  3. Fai clic su Attiva Cloud Shell.

  4. Per creare una nuova configurazione di esportazione, esegui questo comando:

    gcloud scc findings export-to-bigquery PARENT \
        --dataset=DATASET_NAME \
        [--location=LOCATION; default="global"] \
    

    Sostituisci quanto segue:

    • PARENT: il nome relativo dell'ambito di esportazione. Formato di esempio: organizations/ORGANIZATION_ID
    • DATASET_NAME: il nome del set di dati BigQuery. Formato di esempio: projects/PROJECT_ID/datasets/DATASET_ID
    • LOCATION: la posizione di Security Command Center in cui creare una configurazione di esportazione; se la residenza dei dati è abilitata, utilizza eu, sa o us; altrimenti, utilizza il valore global. Questa variabile è facoltativa.

      Ad esempio, per creare un'esportazione collettiva di tutti i risultati, esegui questo comando:

      gcloud scc findings export-to-bigquery organizations/123
        --dataset=projects/123/datasets/DATASET
      

      In termini di residenza dei dati, l'esempio precedente chiama l'endpoint globale.

      Per creare la stessa esportazione collettiva per l'endpoint eu, esegui questo comando:

      gcloud scc findings export-to-bigquery organizations/123
        --dataset=projects/123/datasets/DATASET
        --location=locations/eu
      

Questo comando restituisce un oggetto operazione a lunga esecuzione che contiene una stringa name necessaria per monitorare lo stato dell'esportazione. Per monitorare lo stato di questa esportazione collettiva BigQuery, consulta Visualizzare lo stato di un'esportazione collettiva.

Per esaminare i risultati, consulta Esaminare i risultati.

Query

Per una serie di query che puoi utilizzare per analizzare i dati dei risultati, consulta Query utili.

Visualizzare lo stato di un'esportazione collettiva

Per visualizzare lo stato di un'esportazione collettiva, devi disporre della stringa long running operation name che ti è stata restituita quando hai creato l'esportazione collettiva.

  1. Vai alla Google Cloud console.

    Vai alla console Google Cloud

  2. Seleziona il progetto per il quale hai abilitato l'API Security Command Center.

  3. Fai clic su Attiva Cloud Shell.

  4. Per verificare i dettagli della configurazione dell'esportazione collettiva, esegui questo comando:

    gcloud scc operations describe LONG_RUNNING_OPERATION_NAME \
        --organization=ORGANIZATION_ID
    

    Sostituisci quanto segue:

    • LONG_RUNNING_OPERATION_NAME: la stringa name restituita quando hai creato l'esportazione collettiva.
    • ORGANIZATION_ID

      Ad esempio, per visualizzare lo stato di una richiesta di esportazione collettiva, esegui il comando seguente per ottenere il valore di name: "long-running-operation-name" restituito da un'organizzazione con un ID organizzazione impostato su 123:

      gcloud scc operations describe long-running-operation-name \
        --organization=123
      
  • Se un'esportazione è riuscita, la risposta contiene done: true.
  • Se un'esportazione non è riuscita, la risposta contiene un codice di errore.
  • Se un'esportazione è ancora in corso, la risposta non contiene né done: true né un codice di errore.

Esportazioni collettive ed esportazioni continue di BigQuery

Se vuoi utilizzare insieme le esportazioni collettive e continue di BigQuery nello stesso set di dati BigQuery, esistono due possibili approcci:

  • Crea prima un'esportazione continua, poi esegui il backfill con un'esportazione collettiva.

    1. Configura un'esportazione continua in un set di dati BigQuery. Una volta creata l'esportazione, inizi a ricevere i risultati di Security Command Center in tempo reale.

    2. Crea un'esportazione collettiva utilizzando lo stesso set di dati BigQuery di destinazione. Uno snapshot di tutti i risultati di Security Command Center al momento dell'esportazione viene esportato nel set di dati selezionato.

    L'esecuzione di un'esportazione collettiva richiede tempo. Pertanto, se l'esportazione continua viene creata al momento T1, l'esportazione collettiva viene attivata al momento T2 e lo snapshot dei risultati dell'esportazione collettiva viene completato al momento T3, potrebbero essere visualizzati record duplicati tra T1 e T3. Tuttavia, non ci sono lacune nei risultati.

  • Crea prima un'esportazione collettiva, poi un'esportazione continua.

    1. Crea un'esportazione collettiva. Viene esportata un'istantanea di tutti i risultati di Security Command Center al momento dell'esecuzione delle esportazioni nel set di dati BigQuery selezionato.

    2. Configura un'esportazione continua nello stesso set di dati BigQuery di destinazione. Una volta creata l'esportazione, inizierai a ricevere i risultati di Security Command Center in tempo reale.

    Se l'esportazione collettiva viene creata al momento T1, lo snapshot dei risultati per l'esportazione collettiva viene completato al momento T2 e l'esportazione continua viene attivata al momento T3, i risultati tra T2 e T3 potrebbero non essere presenti nel set di dati BigQuery.

Passaggi successivi