Webhooks de notification
Les webhooks de notification constituent une fonction hautement polyvalente dans IBM® Verify. Ils permettent à un administrateur de configurer un noeud final pour recevoir en temps réel un ensemble sélectionné de données d'événement. Tout événement signalé dans Verify peut être propagé vers le webhook configuré, ce qui permet à Verify d'interagir avec des systèmes externes en fonction de l'événement.
- Suivi des tentatives de connexion d'un utilisateur
- Conservation dans Cloud Directory des modifications apportées à un répertoire CRM externe ou un annuaire d'utilisateurs
- Détection des nouveaux appareils MFA
- Transfert d'événements à un SIEM
Pour plus d'informations sur les données utiles des événements, consultez la section « Types d'événements et données utiles ».
L'administrateur peut configurer un webhook de notification avec un ensemble d'intérêts. Cet ensemble décide des événements à envoyer depuis Verify au système externe.
Les webhooks de notification représentent un volume élevé. Sous charge, Verify publie un grand nombre d'événements. Le système externe doit être préparé à recevoir un niveau correspondant de charge. Des temps de réponse rapides provenant des noeuds finaux webhook configurés par l'administrateur sont essentiels lorsque des webhooks de notification sont utilisés dans les flux utilisateur.
Configuration
Voir la documentation d'API pour la structure complète des objets de configuration de webhook. Cette section se concentre sur la partie intérêts d'un webhook de notification.
Le fichier JSON de configuration du webhook contient une propriété notification. Cette propriété est un objet JSON imbriqué qui contient toutes les options de configuration spécifiques aux notifications. La propriété interests est définie dans cet objet notification. Lorsqu'un événement est émis, il est vérifié par rapport à chaque élément de la propriété interests. Si un élément de la propriété interests a pour résultat une correspondance, l'événement est envoyé à la destination du webhook. Les intérêts sont vérifiés dans l'ordre, donc dans les cas d'utilisation hautes performances, la mise en correspondance la plus large est la méthode la plus efficace.
name conviviale et d'une liste de clauses. Ces clauses déterminent si l'intérêt est une correspondance. Les clauses sont connectés à l'aide d'une opération AND, et l'intérêt est satisfait uniquement s'ils correspondent tous. Une clause se compose de trois zones :key- Est utilisé pour déterminer l'emplacement dans l'événement à inspecter pour déterminer si cette clause correspond. Il doit s'agir d'un nom de propriété JSON.
keypeut être utilisé pour évaluer des clés ou des clés de niveau supérieur dans l'objetdatad'un événement. Lorsqu'il fait référence à l'objetdata, la notation JSON décimale est utilisée. Par exemple,data.action. valueValueest la valeur attendue du pour la zone en cours d'inspection.operation- Indique si une correspondance sur cette clause entraîne un événement
includedouexcluded.
Key:event_type, Value:authentication, Operation:includeKey:data.subtype, Value:federation, Operation:exclude
Ces clauses deviennent l'évaluation logique.
event_type EST authentication ET data.subtype N'EST PAS federation
Exemples
Le code suivant est un exemple complet de la propriété notification dans une configuration de webhook destinée à répondre à divers scénarios.
- Tous les événements d'authentification non fédérés
"notifications": { "interests": [ { "name": "Non-federation authentication events", "clauses": [ { "key": "event_type", "value": "authentication", "operation": "include" }, { "key": "data.subtype", "value": "federation", "operation": "exclude" } ] } ] }
Détection de réexécution
La zoneid d'un événement reste cohérente pour la durée de vie de cet événement. Indique s'il doit être dans un appel webhook ou dans les données d'événement extraites de l'API d'événements. Cette valeur id est également utilisée comme valeur dans l'en-tête X-Webhook-ID pour les webhooks de notification.Lettres mortes de notification
Vous pouvez configurer un webhook pour enregistrer lorsqu'une notification n'a pas été distribuée au webhook.
Un administrateur peut synchroniser les distributions ayant échoué en utilisant l'API de lettres-mortes du webhook de notification, ainsi que l'API d'événements. Ces messages non remis enregistrés contiennent l'identifiant de la notification non remise ainsi que l'heure de cette notification. Pour consulter la notification non remise, un administrateur peut utiliser la valeur d'identifiant pour interroger directement l'API des événements et obtenir la valeur d'un événement spécifique. Les horodatages de plusieurs événements peuvent être utilisés pour récupérer une série d'événements, puis pour les filtrer côté client à l'aide de leurs identifiants.
Rapprochement des messages non remis
Il existe un mécanisme automatisé qui tente de renvoyer les messages non remis vers le webhook configuré. Ces tentatives de réconciliation sont identifiables par la présence de la valeur "deadletter":
true dans la charge utile.
- Manuellement, en appelant l'API `flush`.
- Automatiquement, lorsqu'un webhook de notification indique que tout fonctionne correctement.
- Définissez les paramètres de configuration pour déterminer la fréquence à laquelle ce rapprochement automatique doit avoir lieu. Pour plus de détails, consultez la documentation de l'API.
- L'API manuelle peut toujours être utilisée pour lancer un rapprochement, quelle que soit la configuration.
Si une tentative de réexpédition d'une notification échoue lors du rapprochement, celui-ci est interrompu. Le délai strict pour les rapprochements est de 2 heures. Si toutes les lettres mortes ne sont pas supprimées dans ce délai, il faudra effectuer d'autres opérations de rapprochement.