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 envoie une charge utile JSON dans une requête HTTP POST. Lakewatch envoie un événement lakewatch.alert.created lorsque l'alerte est créée. Il envoie également un événement lakewatch.alert.updated lorsque l'état, le titre, la gravité, la description, la classification ou le destinataire d'une alerte déjà exportée change, mais uniquement lorsque la livraison des mises à jour est activée pour la destination. Lorsqu'une alerte se ferme, vous recevez un événement updated avec alert_state défini sur RESOLVED ou DUPLICATE. Il n'y a pas d'événement de fermeture séparé. Pour activer la livraison des mises à jour, sélectionnez Envoyer également les mises à jour des alertes dans les paramètres. Voir Configurer les paramètres.

Lakewatch envoie chaque événement une seule fois et ne réessaye pas si la livraison échoue. L'alerte apparaît toujours dans Lakewatch.

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 livraison. Une requête qui vous parvient deux fois porte la même valeur. Pour faire correspondre les événements d’une même alerte, utilisez alert_id.

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 livraison. Une requête qui vous parvient deux fois porte la même valeur. Pour faire correspondre les événements d’une même alerte, utilisez alert_id.

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

ID d’alerte unique globalement (uuidv7). Utilisez ce champ pour faire correspondre les événements created et updated pour la même alerte.

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

ID d’alerte unique globalement (uuidv7). Utilisez ce champ pour faire correspondre les événements created et updated pour la même alerte.

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. L’endpoint doit être accessible depuis l’Internet public. Lakewatch ne peut pas effectuer de livraison vers des réseaux privés, tels que les Endpoint derrière Private Link.

Configurer un webhook comme destination d’alerte​

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. Sous Livraison , définissez Destination de l'alerte sur Webhook .
  3. Dans URL du webhook , entrez l'endpoint où les alertes sont publiées.
  4. 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.
  • La configuration ne s'enregistre pas : l'URL du webhook n'utilise pas HTTPS ou pointe vers un réseau privé. Vérifiez que l’URL commence par start https:// et que l’Endpoint est accessible depuis l’Internet public.