Esportare in blocco i risultati in BigQuery

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

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

Panoramica

Questa funzionalità fornisce uno snapshot dei risultati fino a un determinato momento. Questa funzionalità integra l'esportazione continua in 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 findings tabella, che è raggruppata per source_id, finding_id, e event_time.

Ogni set di dati contiene una tabella findings con i seguenti campi:

Campo Descrizione
source_id

Un identificatore univoco che Security Command Center assegna all'origine di un risultato. Ad esempio, tutti i risultati dell'origine Rilevamento di anomalie cloud hanno lo stesso source_id valore.

Esempio: 1234567890

finding_id Identificatore univoco che rappresenta il risultato. È univoco all'interno di un origine per un'organizzazione. È alfanumerico e ha una lunghezza massima di 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 ora riflette il momento in cui è stato risolto.

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

bulk_export_id

Per le esportazioni collettive, si tratta di un UUID.

Per le esportazioni continue, questo campo è vuoto.

finding

Un record di dati di valutazione come sicurezza, rischio, stato o privacy, inserito in Security Command Center per la presentazione, notifica, analisi, test e applicazione dei criteri. Ad esempio, una vulnerabilità di cross-site scripting (XSS) in un'applicazione App Engine applicazione è un risultato.

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

resource

Informazioni relative alla Google Cloud risorsa associata a questo risultato.

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

Costo

Per questa funzionalità, ti vengono addebitati costi di BigQuery per l'archiviazione dei dati in BigQuery. Per ulteriori informazioni, consulta i prezzi di archiviazione di BigQuery.

Prima di iniziare

Devi completare questi passaggi prima di abilitare questa funzionalità.

Configurare le autorizzazioni

Per completare questa guida, devi disporre dei seguenti ruoli Identity and Access Management (IAM):

Creare un set di dati BigQuery

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

Abilitare 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 Google Cloud console.

    Vai alla libreria API

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

  3. Nel campo Cerca, inserisci Security Command Center, quindi 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.

Concedere 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.

Creare una regola di ingresso per la nuova esportazione collettiva in 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 in BigQuery

Tieni presente i seguenti vincoli quando crei esportazioni collettive in BigQuery:

  • In un determinato momento, è consentita l'esecuzione di un massimo di tre esportazioni collettive simultanee per una singola organizzazione.
  • 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 in BigQuery

È possibile eseguire un'esportazione collettiva dei risultati per un'organizzazione, un progetto o una cartella.

Per avviare un'esportazione collettiva dei risultati in un'istanza BigQuery, utilizza la gcloud CLI e segui questi passaggi:

  1. Vai alla Google Cloud console.

    Vai alla Google Cloud console

  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 il comando seguente:

    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: organizzazione, progetto o cartella. Formati di esempio: organizations/ORGANIZATION_ID, projects/PROJECT_ID, folders/FOLDER_ID
    • DATASET_NAME: il nome del set di dati BigQuery. Formato di esempio: projects/PROJECT_ID/datasets/DATASET_ID
    • LOCATION: la località di Security Command Center in cui creare una configurazione di esportazione; se la residenza dei dati è abilitata, utilizza eu, sa, o us; in caso contrario, utilizza il valore global. Questa variabile è facoltativa.

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

      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 il comando seguente:

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

Questo comando restituisce un oggetto di operazione a lunga esecuzione che contiene una stringa name necessaria per monitorare lo stato dell'esportazione. Per monitorare lo stato di questa esportazione collettiva in 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 avere la long running operation name stringa che ti è stata restituita quando hai creato l'esportazione collettiva.

  1. Vai alla Google Cloud console.

    Vai alla Google Cloud console

  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 il comando seguente:

    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, il name: "long-running-operation-name" restituito da un'organizzazione con un ID organizzazione impostato su 123, esegui il comando seguente:

      gcloud scc operations describe long-running-operation-name \
        --organization=123
      
  • Se un'esportazione è andata a buon fine, 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 e continue in BigQuery

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

  • Crea prima un'esportazione continua, quindi 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 in T1, l'esportazione collettiva viene attivata in T2 e lo snapshot dei risultati per l'esportazione collettiva viene completato in T3, è possibile che vengano visualizzati record duplicati tra T1 e T3. Tuttavia, non ci sono lacune nei risultati.

  • Crea prima un'esportazione collettiva, quindi crea un'esportazione continua.

    1. Crea un'esportazione collettiva. Uno snapshot di tutti i risultati di Security Command Center al momento dell'esecuzione dell'esportazione viene esportato nel set di dati BigQuery selezionato.

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

    Se l'esportazione collettiva viene creata in T1, lo snapshot dei risultati per l'esportazione collettiva viene completato in T2 e l'esportazione continua viene attivata in T3, è possibile che i risultati tra T2 e T3 non siano presenti nel set di dati BigQuery.

Passaggi successivi