Webhooks

Les webhooks peuvent être utilisés pour recevoir des notifications à propos d'événements qui se produisent dans AppScan sur Cloud.

Les rappels HTTP définis par l'utilisateur (ou webhooks) sont pris en charge via l'API REST ASoC. Deux types d'événements sont pris en charge :
  • Exécution d'examen terminée
  • Les compteurs ou le statut d'une application ont changé
Pour utiliser des webhooks, vous devez d'abord télécharger et installer AppScan Presence sur votre réseau local (en général il s'agit d'un processus unique). L'instance Presence est connectée à ASoC.

Lorsqu'un webhook est lancé, l'instance Presence reçoit une commande de la part d'ASoC et envoie une requête HTTP GET à l'URI définie pour le webhook sur le réseau local.

Grâce à l'instance Presence, cette requête HTTP peut être envoyée aux serveurs de l'organisation sans qu'il soit nécessaire d'ouvrir le pare-feu aux requêtes entrantes en provenance d'ASoC.

Vous définissez le webhook de manière à ce que lorsque l'événement que vous souhaitez est déclenché, l'instance Presence initie une requête GET vers un URI. L'URI peut contenir une marque de réservation, {SubjectId}, qui sera remplacée par l'ID de l'objet de l'événement.

Exemple :

URI du webhook : http://myservice.com/ScanEnded/{SubjectId}

Type d'événement : "Exécution d'examen terminée"

Le déclencheur est l'exécution de l'examen dont l'ID est : 9ea1fcb6-dc1d-443a-bfff-7465ced2ef1b

La requête envoyée sera alors :
GET /ScanEnded/9ea1fcb6-dc1d-443a-bfff-7465ced2ef1b HTTP/1.1 
Host: myservice.com 
Notez que le webhook n'envoie pas de données liées à l'événement. Pour obtenir des données (comme la liste des problèmes trouvés au cours de l'examen), vous devez mettre en œuvre un service distinct qui, lors de la gestion de l'événement, se connectera à ASoC en utilisant une clé d'API et récupérera les données requises auprès de l'API ASoC.

Contrôle d'accès au webhook

Pour créer ou modifier un webhook, vous devez disposer des droits « Créer/modifier des webhooks » dans ASoC. Par défaut, ces droits sont attribués aux rôles Administrateur et Gestionnaire, mais ils peuvent également être ajoutés aux rôles Personnalisés.

Un webhook peut être défini soit au niveau de l'organisation soit pour un groupe de fichiers métadonnées spécifique.
  • Un webhook au niveau de l'organisation est défini et géré par un Administrateur ou par un Utilisateur doté d'un accès complet à tous les groupes.
  • Un webhook au niveau du groupe de fichiers métadonnées peut être défini et géré par tout Utilisateur doté d'un accès au Groupe de fichiers métadonnées disposant du droit pour Créer/modifier des webhooks.

Portée d'un webhook

Un webhook peut être défini comme Général ou A portée.

Un webhook Général sera déclenché à chaque fois qu'un événement qui correspond au type d'événement du webhook se produit (dans l'organisation ou dans le groupe de fichiers métadonnées, conformément à sa définition).

Un webhook qui n'est pas défini comme Général peut être associé à une ou plusieurs portées. Une portée peut être une application en particulier ou, si le webhook est défini au niveau de l'organisation, la portée peut être un groupe de fichiers métadonnées spécifique.

Un webhook à portée sera déclenché uniquement si un événement se produit au niveau de l'une des portées associées.

Par exemple, si le webhook est configuré pour être déclenché au moment de la "Fin de l'exécution de l'examen", et que la portée du webhook est une application spécifique, le webhook sera déclenché chaque fois qu'une exécution d'examen dans cette application sera terminée.