Raccogli i log di Fivetran

Supportato in:

Questo documento spiega come configurare Fivetran per inviare i log a Google Security Operations utilizzando i webhook.

Fivetran è una piattaforma di integrazione dei dati che automatizza le pipeline di dati da varie origini ai data warehouse. Fivetran genera eventi operativi, inclusi eventi di sincronizzazione dei connettori, eventi di trasformazione e modifiche dello stato della connessione. Questi eventi possono essere inviati a endpoint esterni tramite webhook in uscita per il monitoraggio, gli avvisi e l'analisi della sicurezza.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps.
  • Un account Fivetran con autorizzazioni a livello di amministratore o account.
  • Accesso alla Google Cloud Console (per la creazione della chiave API).
  • Account Fivetran con accesso all'API REST abilitato.

Crea un feed webhook in Google SecOps

Crea il feed

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su + Aggiungi nuovo.
  3. Seleziona Configura un singolo feed.
  4. Nel campo Nome feed , inserisci un nome (ad esempio Fivetran Events).
  5. Seleziona Webhook come Tipo di origine.
  6. Seleziona Fivetran come Tipo di log.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:
    • Delimitatore di suddivisione (facoltativo): lascia vuoto.
    • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
    • Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
  9. Fai clic su Avanti.
  10. Esamina la nuova configurazione del feed e fai clic su Invia.

Genera e salva la chiave segreta

  1. Nella pagina dei dettagli del feed, fai clic su Genera chiave segreta.
  2. Viene visualizzata una finestra di dialogo con la chiave segreta.
  3. Copia e salva la chiave segreta in modo sicuro.

Recupera l'URL dell'endpoint del feed

  1. Vai alla scheda Dettagli del feed.
  2. Nella sezione Informazioni sull'endpoint, copia l'URL dell'endpoint del feed.
  3. Salva questo URL per i passaggi successivi.
  4. Fai clic su Fine.

Crea una chiave API Google Cloud

Google SecOps richiede una chiave API per l'autenticazione.

Crea la chiave API

  1. Vai alla pagina Credenziali della console Google Cloud.
  2. Seleziona il progetto.
  3. Fai clic su Crea credenziali > Chiave API.
  4. Fai clic su Modifica chiave API per limitare la chiave.

Limita la chiave API

  1. Nelle impostazioni Chiave API :
    • Nome: inserisci un nome descrittivo (ad esempio SecOps Webhook API Key).
  2. In Limitazioni API:
    1. Seleziona Limita chiave.
    2. Nel menu a discesa, cerca e seleziona API Google SecOps (o API Chronicle).
  3. Fai clic su Salva.
  4. Copia il valore della chiave API e salvalo in modo sicuro.

Configura il webhook di Fivetran

Crea l'URL del webhook

  • Combina l'URL dell'endpoint e la chiave API:

    <ENDPOINT_URL>?key=<API_KEY>
    

Crea un webhook utilizzando l'API REST di Fivetran

Recupera le credenziali API di Fivetran

  1. Accedi al tuo account Fivetran.
  2. Vai a Impostazioni account > Configurazione API.
  3. Fai clic su Genera chiave API se non ne hai una.
  4. Copia la chiave API e il secret API.

Crea un webhook a livello di account

Utilizza questo metodo per ricevere eventi da tutti i connettori del tuo account.

  1. Apri un terminale ed esegui il comando seguente:

    curl -X POST [https://api.fivetran.com/v1/webhooks/account](https://api.fivetran.com/v1/webhooks/account) \
            -u "API_KEY:API_SECRET" \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{
                    "url": "[https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_CHRONICLE_API_KEY](https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_CHRONICLE_API_KEY)",
                    "events": [
                            "sync_start",
                            "sync_end",
                            "transformation_start",
                            "transformation_succeeded",
                            "transformation_failed",
                            "connection_successful",
                            "connection_failure",
                            "create_connector",
                            "pause_connector",
                            "resume_connector",
                            "edit_connector",
                            "delete_connector",
                            "force_update_connector",
                            "resync_connector",
                            "resync_table"
                    ],
                    "active": true,
                    "secret": "YOUR_CHRONICLE_SECRET_KEY"
            }'
    

Dettagli del webhook

Eventi webhook disponibili

Evento Descrizione
sync_start Sincronizzazione del connettore avviata
sync_end Sincronizzazione del connettore completata
transformation_start Trasformazione avviata
transformation_succeeded Trasformazione completata correttamente
transformation_failed Trasformazione non riuscita
connection_successful Test di connessione riuscito
connection_failure Test di connessione non riuscito
create_connector Nuovo connettore creato

Comportamento di nuovi tentativi del webhook

Fivetran ritenta automaticamente i webhook non riusciti per un massimo di 24 ore con la seguente pianificazione:

Nuovo tentativo Tempo dopo il tentativo iniziale
1° nuovo tentativo 6 minuti
2° nuovo tentativo 27 minuti
3° nuovo tentativo 1 ora e 45 minuti
4° nuovo tentativo 6 ore e 25 minuti
5° nuovo tentativo 23 ore e 13 minuti

Tabella di mapping UDM

Campo log Mapping UDM Funzione logica
jsonPayload.connector_id additional.connector_id Valore copiato direttamente.
jsonPayload.connector_type additional.connector_type Valore copiato direttamente.
jsonPayload.data.query additional.query Valore copiato direttamente.
N/D metadata.event_type Impostato in base alla presenza di principal e target.
jsonPayload.event metadata.product_event_type Valore copiato direttamente.
jsonPayload.sync_id metadata.product_log_id Valore copiato direttamente.
jsonPayload.connector_name principal.hostname Valore copiato direttamente.
resource.labels.email_id principal.user.email_addresses Mappato se il formato è un'email valida.
resource.labels.unique_id principal.user.userid Valore copiato direttamente.
severity security_result.severity "INFO" viene mappato su INFORMATIONAL.
logName target.resource.name Valore copiato direttamente.
N/D target.resource.type Impostato su DATABASE.
N/D metadata.product_name Impostato su FIVETRAN.
N/D metadata.vendor_name Impostato su FIVETRAN.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.