Collecter les journaux Fivetran
Version de l'analyseur : 1.0
Ce document explique comment configurer Fivetran pour envoyer des journaux à Google Security Operations à l'aide de webhooks.
Fivetran est une plate-forme d'intégration de données qui automatise les pipelines de données de différentes sources vers des entrepôts de données. Fivetran génère des événements opérationnels, y compris des événements de synchronisation de connecteur, des événements de transformation et des modifications de l'état de la connexion. Ces événements peuvent être envoyés à des points de terminaison externes via des webhooks sortants pour la surveillance, les alertes et l'analyse de la sécurité.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps.
- Un compte Fivetran avec des autorisations d'administrateur ou au niveau du compte.
- Un accès à la Google Cloud Console (pour la création de clés API).
- Un compte Fivetran avec l'accès à l'API REST activé.
Créer un flux de webhook dans Google SecOps
Créer le flux
- Accédez à SIEM Settings > Feeds (Paramètres SIEM > Flux).
- Cliquez sur + Add New (+ Ajouter).
- Sélectionnez Configure a single feed (Configurer un seul flux).
- Dans le champ Feed name (Nom du flux), saisissez un nom (par exemple,
Fivetran Events). - Sélectionnez Webhook comme Source type (Type de source).
- Sélectionnez Fivetran comme Log type (Type de journal).
- Cliquez sur Suivant.
- Spécifiez des valeurs pour les paramètres d'entrée suivants :
- Split delimiter (Délimiteur de division) (facultatif) : laissez ce champ vide.
- Asset namespace (Espace de noms de l'élément) : l'espace de noms de l'élément.
- Ingestion labels (Libellés d'ingestion) : libellé à appliquer aux événements de ce flux.
- Cliquez sur Suivant.
- Vérifiez la configuration de votre nouveau flux d'actualités, puis cliquez sur Envoyer.
Générer et enregistrer la clé secrète
- Sur la page d'informations du flux, cliquez sur Generate Secret Key (Générer une clé secrète).
- Une boîte de dialogue affiche la clé secrète.
- Copiez et enregistrez la clé secrète en toute sécurité.
Obtenir l'URL du point de terminaison du flux
- Accédez à l'onglet Details (Détails) du flux.
- Dans la section Endpoint Information (Informations sur le point de terminaison), copiez l'URL du point de terminaison du flux.
- Enregistrez cette URL pour les étapes suivantes.
- Cliquez sur OK.
Créer une clé API Google Cloud
Google SecOps nécessite une clé API pour l'authentification.
Créer la clé API
- Accédez à la page Identifiants de la console Google Cloud.
- Sélectionnez votre projet.
- Cliquez sur Créer des identifiants > Clé API.
- Cliquez sur Modifier la clé API pour la restreindre.
Restreindre la clé API
- Dans les paramètres de la clé API :
- Name (Nom) : saisissez un nom descriptif (par exemple,
SecOps Webhook API Key).
- Name (Nom) : saisissez un nom descriptif (par exemple,
- Sous Restrictions relatives aux API:
- Sélectionnez Restreindre la clé.
- Dans le menu déroulant, recherchez et sélectionnez Google SecOps API (ou Chronicle API).
- Cliquez sur Enregistrer.
- Copiez la valeur de la clé API et enregistrez-la en toute sécurité.
Configurer le webhook Fivetran
Créer l'URL de webhook
Combinez l'URL du point de terminaison et la clé API :
<ENDPOINT_URL>?key=<API_KEY>
Créer un webhook à l'aide de l'API REST Fivetran
Obtenir les identifiants de l'API Fivetran
- Connectez-vous à votre compte Fivetran.
- Accédez à Account Settings > API Config (Paramètres du compte > Configuration de l'API).
- Cliquez sur Generate API Key (Générer une clé API) si vous n'en avez pas.
- Copiez la clé API et le code secret de l'API.
Créer un webhook au niveau du compte
Utilisez cette méthode pour recevoir des événements de tous les connecteurs de votre compte.
Ouvrez un terminal et exécutez la commande suivante :
curl -X POST https://api.fivetran.com/v1/webhooks/account \ -u "API_KEY:API_SECRET" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "url": "https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?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" }'- Où
{region}correspond à la région de votre instance Google SecOps (par exemple,us,europeouasia-southeast1), et{parent}au chemin d'accès à la ressource au formatprojects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>.
- Où
Détails du webhook
Événements de webhook disponibles
| Événement | Description |
|---|---|
sync_start |
Synchronisation du connecteur démarrée |
sync_end |
Synchronisation du connecteur terminée |
transformation_start |
Transformation démarrée |
transformation_succeeded |
Transformation terminée |
transformation_failed |
Échec de la transformation |
connection_successful |
Test de connexion réussi |
connection_failure |
Échec du test de connexion |
create_connector |
Nouveau connecteur créé |
Comportement de nouvelle tentative du webhook
Fivetran retente automatiquement les webhooks ayant échoué pendant 24 heures selon la planification suivante :
| Nouvelle tentative | Délai après la tentative initiale |
|---|---|
| 1re tentative | 6 minutes |
| 2e tentative | 27 minutes |
| 3e tentative | 1 heure et 45 minutes |
| 4e tentative | 6 heures et 25 minutes |
| 5e tentative | 23 heures et 13 minutes |
Tableau de mappage UDM
| Champ du journal | Mappage UDM | Logique |
|---|---|---|
jsonPayload.connector_id |
additional.connector_id |
Valeur copiée directement. |
jsonPayload.connector_type |
additional.connector_type |
Valeur copiée directement. |
jsonPayload.data.query |
additional.query |
Valeur copiée directement. |
| N/A | metadata.event_type |
Défini en fonction de la présence du principal et de la cible. |
jsonPayload.event |
metadata.product_event_type |
Valeur copiée directement. |
jsonPayload.sync_id |
metadata.product_log_id |
Valeur copiée directement. |
jsonPayload.connector_name |
principal.hostname |
Valeur copiée directement. |
resource.labels.email_id |
principal.user.email_addresses |
Mappé si le format est un e-mail valide. |
resource.labels.unique_id |
principal.user.userid |
Valeur copiée directement. |
severity |
security_result.severity |
"INFO" correspond à INFORMATIONAL. |
logName |
target.resource.name |
Valeur copiée directement. |
| N/A | target.resource.type |
Défini sur DATABASE. |
| N/A | metadata.product_name |
Défini sur FIVETRAN. |
| N/A | metadata.vendor_name |
Défini sur FIVETRAN. |
Journal des modifications
Consulter le journal des modifications de cet analyseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.