Aller au contenu principal

Webhook

info

Aperçu

Lakewatch est en aperçu privé. Pour demander l’accès, veuillez contacter l’équipe de votre compte Databricks.

Exporter les alertes Lakewatch vers un webhook. Lorsqu’une alerte est créée, Lakewatch l’envoie sous la forme d’une charge utile JSON vers un endpoint HTTPS que vous configurez, où votre propre automatisation peut agir en conséquence. Pour savoir comment l’exportation se comporte selon les destinations, consultez la page Destinations d'alerte.

L’exportation vers un webhook est unidirectionnelle, de Lakewatch vers votre endpoint.

Charge utile Webhook​

Lorsque Lakewatch exporte une alerte vers votre webhook, il poste une charge utile JSON. Lakewatch envoie un événement lakewatch.alert.created lorsque l'alerte est créée. Il envoie également un événement lakewatch.alert.updated pour les modifications ultérieures apportées à une alerte déjà exportée, mais uniquement lorsque la remise des mises à jour est activée pour la destination. Une fermeture est une mise à jour qui porte un alert_state terminal (RESOLVED ou DUPLICATE), il n'y a donc pas d'événement de fermeture distinct. Pour le paramètre qui active la remise des mises à jour, voir Configurer les paramètres.

La livraison est au plus une fois par événement, sans nouvelle tentative. L'alerte est toujours créée dans Lakewatch si la livraison échoue.

remarque

Les clés sont en snake_case. Les champs d’énumération sont envoyés sous leur nom sous forme de chaîne, par exemple "SECURITY_ALERT", et non sous leur numéro. Les champs facultatifs non définis sont omis du JSON plutôt que d'être envoyés sous forme de null, donc un champ numérique manquant est absent, pas 0.

En-têtes​

Chaque requête inclut les en-têtes suivants :

  • Content-Type: application/json
  • User-Agent: Databricks-Webhooks/1.0
  • X-Webhook-Event-Type: le type d'événement
  • X-Delivery-Attempt-Id: l'ID de tentative de prestation
  • X-Webhook-Timestamp: le délai de livraison en millisecondes d'époque

Champs d'enveloppe​

Zone

Description

event_type

lakewatch.alert.created ou lakewatch.alert.updated.

delivery_attempt_id

Unique pour chaque tentative de livraison. Utilisez-le pour supprimer les doublons.

delivery_time_millis

Millisecondes de l'époque où la livraison a été envoyée, et non pas lorsque l'alerte a été créée.

data

L’objet d’alerte. Voir Champs d'alerte.

Zone

Description

event_type

lakewatch.alert.created ou lakewatch.alert.updated.

delivery_attempt_id

Unique pour chaque tentative de livraison. Utilisez-le pour supprimer les doublons.

delivery_time_millis

Millisecondes de l'époque où la livraison a été envoyée, et non pas lorsque l'alerte a été créée.

data

L’objet d’alerte. Voir Champs d'alerte.

Champs d'alerte​

L'objet data contient l'alerte. Les champs suivants sont ceux avec lesquels la plupart des clients interagissent :

Zone

Description

alert_id

Identifiant d'alerte globalement unique (uuidv7). Corréler les événements created et updated pour la même alerte sur ce champ.

seq_id

ID d’affichage convivial, par exemple sec-42. Pour l’affichage uniquement, pas une clé.

alert_type

SECURITY_ALERT.

alert_state

L'un des éléments suivants : OPEN, IN_PROGRESS, MITIGATED, RESOLVED ou DUPLICATE.

severity

L'un des éléments suivants : Informational, Low, Medium, High ou Critical. Les alertes de gravité informationnelle ne sont pas exportées.

title

Titre court de l'alerte.

classification

L’un de FALSE_POSITIVE, BENIGN_POSITIVE ou TRUE_POSITIVE. Non défini jusqu’à ce qu’un analyste trie l’alerte ; elle apparaît donc sur updated événements au lieu d’apparaître lors de la création.

assignee

Principal auquel l'alerte est attribuée. Non défini jusqu’à assignation, afin qu’il apparaisse sur les événements updated.

alert_url

Deep link vers l'alerte dans l'interface utilisateur de Lakewatch. Peut être non défini.

created_at_millis

Millisecondes d'époque lors de la création de l'alerte.

created_by

Le principal qui a créé l'alerte : id, principal_type (l'un des REGULAR_USER, SERVICE_PRINCIPAL ou SYSTEM_USER), email et display_name.

Zone

Description

alert_id

Identifiant d'alerte globalement unique (uuidv7). Corréler les événements created et updated pour la même alerte sur ce champ.

seq_id

ID d’affichage convivial, par exemple sec-42. Pour l’affichage uniquement, pas une clé.

alert_type

SECURITY_ALERT.

alert_state

L'un des éléments suivants : OPEN, IN_PROGRESS, MITIGATED, RESOLVED ou DUPLICATE.

severity

L'un des éléments suivants : Informational, Low, Medium, High ou Critical. Les alertes de gravité informationnelle ne sont pas exportées.

title

Titre court de l'alerte.

classification

L’un de FALSE_POSITIVE, BENIGN_POSITIVE ou TRUE_POSITIVE. Non défini jusqu’à ce qu’un analyste trie l’alerte ; elle apparaît donc sur updated événements au lieu d’apparaître lors de la création.

assignee

Principal auquel l'alerte est attribuée. Non défini jusqu’à assignation, afin qu’il apparaisse sur les événements updated.

alert_url

Deep link vers l'alerte dans l'interface utilisateur de Lakewatch. Peut être non défini.

created_at_millis

Millisecondes d'époque lors de la création de l'alerte.

created_by

Le principal qui a créé l'alerte : id, principal_type (l'un des REGULAR_USER, SERVICE_PRINCIPAL ou SYSTEM_USER), email et display_name.

La charge utile peut également inclure name (le nom de la ressource de l’alerte), description, rule_version, first_event_summary, first_event_at_millis, last_event_at_millis, total_event_count et triggering_signal (l’événement de sécurité représentatif).

Voici un exemple de charge utile lakewatch.alert.created :

JSON
{
"delivery_attempt_id": "fde7344f-2786-4516-a30b-dbd920207c9c",
"event_type": "lakewatch.alert.created",
"delivery_time_millis": 1790205121081,
"data": {
"name": "rules/4b54c235-39e7-476e-aac8-260f123f4533/alerts/81030035-3fa7-4ac2-859f-4215ebeca2d9",
"alert_id": "81030035-3fa7-4ac2-859f-4215ebeca2d9",
"seq_id": "sec-512",
"alert_type": "SECURITY_ALERT",
"alert_state": "OPEN",
"severity": "Medium",
"title": "Suspicious login activity",
"alert_url": "https://<workspace-host>/lakewatch/explore/alerts/sec-512",
"first_event_summary": "Multiple failed logins from a new location",
"total_event_count": 1,
"created_at_millis": 1790204960768,
"created_by": {
"id": "147014482147330",
"principal_type": "REGULAR_USER",
"email": "analyst@example.com",
"display_name": "Alex Analyst"
}
}
}

Un événement updated a la même forme, avec event_type défini sur lakewatch.alert.updated, le alert_state actuel, et des champs postérieurs à la création tels que classification et assignee remplis.

Prérequis​

Un endpoint HTTPS qui accepte les requêtes POST et peut traiter la charge utile JSON de l'alerte.

Configurer l'exportation du webhook​

Configurez une destination de webhook pour les alertes dans la section des paramètres Alertes .

  1. Dans la barre latérale Lakewatch, accédez à Paramètres , puis ouvrez Alertes .
  2. Trouvez le paramètre Exporter sous Alertes .
  3. Définissez la destination d'exportation sur Webhook .
  4. Pour Workspace , conservez le workspace actuel, sauf si la destination se trouve derrière le réseau d’un workspace spécifique, tel qu’un endpoint PrivateLink ou un service restreint à une région. Le réseau de ce workspace assure l’exportation.
  5. Dans URL du webhook , entrez l'endpoint où les alertes sont publiées.
  6. Enregistrez vos modifications.

Pour la référence complète des paramètres d'alerte, voir Configurer les paramètres.

Dépannage​

  • Les charges utiles n’atteignent pas votre endpoint : l’URL est incorrecte ou l’endpoint n’accepte pas les requêtes POST. Confirmez l'URL et que l'endpoint est accessible et accepte un POST JSON.