Configuration des webhooks
Les webhooks permettent à IBM Cloud® Internet Services d'envoyer des notifications en temps réel à des systèmes externes lorsque des événements spécifiques se produisent sur votre compte. En intégrant des webhooks à vos politiques d'alerte, vous pouvez automatiser les réponses ou déclencher des flux de travail dans des services tiers.
Vous pouvez configurer les webhooks à l'aide de la console IBM Cloud, de la CLI ou de l'API.
Les alertes et les webhooks ne sont disponibles que sur les plans Enterprise.
Configuration des webhooks dans la console
Pour configurer les webhooks dans la console, accédez à la page Compte et sélectionnez l'onglet Alertes. Dans la section Alertes, sélectionnez l'onglet Points d'ancrage web .
Création d'un webhook dans la console
- Cliquez sur Créer.
- Entrez un nom pour votre point d'ancrage web.
- Entrez l'URL du point d'ancrage web. Cette URL ne peut pas être mise à jour; si vous souhaitez la modifier, vous devez supprimer puis recréer le webhook.
- Entrez le secret du point d'ancrage web. Le secret ne peut pas être mis à jour; si vous souhaitez le modifier, vous devez supprimer puis recréer le webhook.
Modification d'un webhook dans la console
Pour modifier un webhook dans la console, cliquez sur l'icône Modifier située à côté du nom du webhook que vous souhaitez mettre à jour. Vous ne pouvez modifier que le nom du webhook. Si vous devez modifier un webhook, supprimez-le puis recréez-le au lieu de le modifier directement.
Suppression d'un webhook dans la console
Pour supprimer un webhook dans la console, cliquez sur l'
Actions du menu Actions du webhook que vous souhaitez supprimer, puis sélectionnez Supprimer. Sélectionnez
Supprimer dans la fenêtre de confirmation.
Configuration des webhooks depuis l'interface de ligne de commande (CLI)
Création d'un webhook à partir de l'interface de ligne de commande (CLI)
Pour créer un webhook à partir de l'interface de ligne de commande (CLI), exécutez la commande suivante :
ibmcloud cis alert-webhook-create --name NAME --url URL [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]
Où :
- -- nom valeur est le nom du point d'ancrage web.
- --La valeur url correspond au point de terminaison POST à appeler lorsqu'une alerte est envoyée.
- --secret value correspond au secret transmis dans l'en-tête d'authentification du webhook lorsqu'une alerte de webhook est envoyée.
- -i, -- valeur d'instance est le nom ou l'ID de l'instance. Si cette option n'est pas définie, l'instance de contexte spécifiée par cis instance-set INSTANCE est utilisée.
- -- valeur de sortie indique le format de sortie ; seul JSON est pris en charge.
Répertorier tous les webhooks depuis l'interface de ligne de commande (CLI)
Pour répertorier un webhook depuis l'interface de ligne de commande (CLI), exécutez la commande suivante.
ibmcloud cis alert-webhooks [-i, --instance INSTANCE] [--output FORMAT]
Où :
- -i, -- valeur d'instance est le nom ou l'ID de l'instance. Si cette option n'est pas définie, l'instance de contexte spécifiée par cis instance-set INSTANCE est utilisée.
- -- valeur de sortie indique le format de sortie ; seul JSON est pris en charge.
Obtenir des informations sur un webhook depuis l'interface de ligne de commande (CLI)
Pour obtenir des informations détaillées sur un webhook depuis l'interface de ligne de commande (CLI), exécutez la commande suivante :
ibmcloud cis alert-webhook WEBHOOK_ID [-i, --instance INSTANCE] [--output FORMAT]
Où :
- POINT_ANCRAGE_ID est l'ID du point d'ancrage web.
- -i, -- valeur d'instance est le nom ou l'ID de l'instance. Si cette option n'est pas définie, l'instance de contexte spécifiée par cis instance-set INSTANCE est utilisée.
- -- valeur de sortie indique le format de sortie ; seul JSON est pris en charge.
Mise à jour d'un webhook depuis l'interface de ligne de commande (CLI)
Pour mettre à jour un webhook depuis l'interface de ligne de commande (CLI), exécutez la commande suivante :
ibmcloud cis alert-webhook-update WEBHOOK_ID [--name NAME] [--url URL] [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]
Où :
- POINT_ANCRAGE_ID est l'ID du point d'ancrage web.
- -- nom valeur est le nom du point d'ancrage web.
- --La valeur url correspond au point de terminaison POST à appeler lorsqu'une alerte est envoyée.
- --secret value correspond au secret transmis dans l'en-tête d'authentification du webhook lorsqu'une alerte de webhook est envoyée.
- -i, -- valeur d'instance est le nom ou l'ID de l'instance. Si cette option n'est pas définie, l'instance de contexte spécifiée par cis instance-set INSTANCE est utilisée.
- -- valeur de sortie indique le format de sortie ; seul JSON est pris en charge.
Suppression d'un webhook depuis l'interface de ligne de commande (CLI)
Pour supprimer un webhook depuis l'interface de ligne de commande (CLI), exécutez la commande suivante :
ibmcloud cis alert-webhook-delete WEBHOOK_ID [-i, --instance INSTANCE] [-f, --force]
Où :
- POINT_ANCRAGE_ID est l'ID du point d'ancrage web.
- I, -- valeur d'instance est le nom ou l'ID de l'instance. Si cette option n'est pas définie, l'instance de contexte spécifiée par cis instance-set INSTANCE est utilisée.
- -f, -- force tentative de supprimer le point d'ancrage web sans demander de confirmation.
Configuration des webhooks avec l'API
Pour appeler ces méthodes, vous devez être affecté à un ou plusieurs rôles d'accès IAM.
internet-svcs.zones.readinternet-svcs.zones.update
Vous pouvez vérifier votre accès en allant sur Utilisateurs > Nom > Conditions d'accès.
Création d'un webhook à l'aide de l'API
La création d'une alerte Webhook se déroule en deux étapes. Tout d'abord, créez le point d'ancrage web, puis utilisez l'ID dans la réponse que vous recevez pour créer l'alerte.
Pour créer un webhook à l'aide de l'API, procédez comme suit :
-
Configurez l'environnement de votre API avec les variables appropriées.
-
Enregistrez les variables suivantes afin de les utiliser dans la commande API :
crn: CRN complet codé en URL de l'instance de service.name: nom du point d'ancrage web.url: URL du point d'ancrage web.secret: le secret ou la clé API facultatif(ve) nécessaire à l'utilisation du webhook.
-
Lorsque toutes les variables sont initialisées, exécutez la commande suivante pour créer le webhook :
curl -X POST https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks -H 'content-type: application/json' -H 'x-auth-user-token: Bearer xxxxxx' -d '{"name":"Example Webhook","url":"https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd"}'
La réponse suivante est renvoyée :
{
"result": {
"id": "6d16fcab-3e80-44b3-b59b-a3716237832e"
},
"success": true,
"errors": [],
"messages": []
}
Utilisez l'identifiant figurant dans la réponse que vous avez reçue pour créer l'alerte :
curl -X POST \
https://api.cis.cloud.ibm.com/v1/:crn/alerting/policies \
-H 'content-type: application/json' \
-H 'x-auth-user-token: Bearer xxxxxx' \
-d '{"name":"Example Policy","enabled":true,"alert_type":"dos_attack_l7","mechanisms":{"email":[{"id":"cistestemail@ibm.com"}],"webhooks": [{"id": "6d16fcab3e8044b3b59ba3716237832e"}]}}'
Liste de tous les webhooks via l'API
Pour répertorier tous les webhooks à l'aide de l'API, procédez comme suit :
-
Configurez l'environnement de votre API avec les variables appropriées.
-
Enregistrez la variable suivante afin de l'utiliser dans la commande API :
crn: CRN complet codé en URL de l'instance de service.
-
Lorsque toutes les variables sont initiées, obtenez la liste des point d'ancrage web:
curl -X GET https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks -H 'content-type: application/json' -H 'accept: application/json' -H 'x-auth-user-token: Bearer xxxxxx'
Obtenir des informations sur un webhook via l'API
Pour obtenir les détails d'un webhook via l'API, procédez comme suit :
-
Configurez l'environnement de votre API avec les variables appropriées.
-
Enregistrez les variables suivantes afin de les utiliser dans la commande API :
crn: CRN complet codé en URL de l'instance de service.webhook_id: identificateur du point d'ancrage web d'alerte.
-
Lorsque toutes les variables sont initiées, obtenez les détails du point d'ancrage web:
curl -X GET https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id -H 'content-type: application/json' -H 'accept: application/json' -H 'x-auth-user-token: Bearer xxxxxx'
Mise à jour d'un webhook via l'API
Pour mettre à jour un webhook à l'aide de l'API, procédez comme suit :
-
Configurez l'environnement de votre API avec les variables appropriées.
-
Enregistrez les variables suivantes afin de les utiliser dans la commande API :
crn: CRN complet codé en URL de l'instance de service.webhook_id: identificateur du point d'ancrage web d'alerte.name: nom du point d'ancrage web.url: URL du point d'ancrage web.secret: le secret ou la clé API facultatif(ve) nécessaire à l'utilisation du webhook.
-
Lorsque toutes les variables sont initiées, mettez à jour le point d'ancrage Web:
curl -X PUT https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id -H 'content-type: application/json' -H 'x-auth-user-token: Bearer xxxxxx' -d '{"name":"Example Webhook","url":"https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd"}'
Suppression d'un webhook via l'API
Pour supprimer un webhook via l'API, procédez comme suit :
-
Configurez l'environnement de votre API avec les variables appropriées.
-
Enregistrez les variables suivantes afin de les utiliser dans la commande API :
crn: CRN complet codé en URL de l'instance de service.webhook_id: identificateur du point d'ancrage web d'alerte.
-
Lorsque toutes les variables sont initiées, supprimez le point d'ancrage web:
curl -X DELETE https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id -H 'content-type: application/json' -H 'accept: application/json' -H 'x-auth-user-token: Bearer xxxxxx'