Webhooks konfigurieren
Mithilfe von Webhooks kann IBM Cloud® Internet Services Echtzeitbenachrichtigungen an externe Systeme senden, wenn bestimmte Ereignisse in Ihrem Konto eintreten. Durch die Integration von Webhooks in Ihre Warnrichtlinien können Sie Antworten automatisieren oder Workflows in Drittanbieterdiensten auslösen.
Sie können Webhooks über die IBM Cloud Konsole, CLI oder API konfigurieren.
Warnmeldungen und Webhooks sind nur bei den Enterprise-Tarifen verfügbar.
Konfigurieren von Webhooks in der Konsole
Um Webhooks in der Konsole zu konfigurieren, navigieren Sie zu Ihrer Kontoseite und wählen Sie die Registerkarte „Benachrichtigungen“ aus. Wählen Sie im Abschnitt "Warnungen" die Registerkarte Webhooks aus.
Erstellen eines Webhooks in der Konsole
- Klicken Sie auf Erstellen.
- Geben Sie einen Namen für Ihren Webhook ein.
- Geben Sie die Webhook-URL ein. Dieser URL kann nicht aktualisiert werden; wenn Sie ihn ändern möchten, müssen Sie den Webhook löschen und neu erstellen.
- Geben Sie den geheimen Webhook-Schlüssel ein. Das Geheimnis kann nicht aktualisiert werden; wenn Sie es ändern möchten, müssen Sie den Webhook löschen und neu erstellen.
Einen Webhook in der Konsole bearbeiten
Um einen Webhook in der Konsole zu bearbeiten, klicken Sie auf das Symbol Bearbeiten neben dem Namen des Webhooks, den Sie aktualisieren möchten. Sie können nur den Namen des Webhooks bearbeiten. Wenn Sie einen Webhook ändern müssen, löschen Sie ihn und erstellen Sie ihn neu, anstatt ihn zu bearbeiten.
Einen Webhook in der Konsole löschen
Um einen Webhook in der Konsole zu löschen, klicken Sie im Menü Aktionen auf das
des Webhooks, den Sie löschen möchten, und wählen Sie dann Löschen. Wählen
Sie im Bestätigungsfenster Löschen.
Konfigurieren von Webhooks über die CLI
Erstellen eines Webhooks über die CLI
Um einen Webhook über die CLI zu erstellen, führen Sie den folgenden Befehl aus:
ibmcloud cis alert-webhook-create --name NAME --url URL [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]
Dabei gilt:
- -- Name Wert ist der Name des Webhooks.
- --Der Wert url ist der POST-Endpunkt, der aufgerufen werden soll, wenn eine Warnmeldung versendet wird.
- --secret value ist das Geheimnis, das im Webhook-Auth-Header übergeben wird, wenn eine Webhook-Benachrichtigung gesendet wird.
- -i, -- instance Wert ist der Instanzname oder die ID. Wenn nicht festgelegt, wird die durch cis instance-set INSTANCE angegebene Kontextinstanz verwendet.
- -- output Wert gibt das Ausgabeformat an; es wird nur JSON unterstützt.
Auflistung aller Webhooks über die CLI
Um einen Webhook über die CLI aufzulisten, führen Sie den folgenden Befehl aus.
ibmcloud cis alert-webhooks [-i, --instance INSTANCE] [--output FORMAT]
Dabei gilt:
- -i, -- instance Wert ist der Instanzname oder die ID. Wenn nicht festgelegt, wird die durch cis instance-set INSTANCE angegebene Kontextinstanz verwendet.
- -- output Wert gibt das Ausgabeformat an; es wird nur JSON unterstützt.
Details zu einem Webhook über die CLI abrufen
Um Details zu einem Webhook über die CLI abzurufen, führen Sie den folgenden Befehl aus:
ibmcloud cis alert-webhook WEBHOOK_ID [-i, --instance INSTANCE] [--output FORMAT]
Dabei gilt:
- WEBHOOK_ID ist die ID des Webhooks.
- -i, -- instance Wert ist der Instanzname oder die ID. Wenn nicht festgelegt, wird die durch cis instance-set INSTANCE angegebene Kontextinstanz verwendet.
- -- output Wert gibt das Ausgabeformat an; es wird nur JSON unterstützt.
Aktualisieren eines Webhooks über die CLI
Um einen Webhook über die CLI zu aktualisieren, führen Sie den folgenden Befehl aus:
ibmcloud cis alert-webhook-update WEBHOOK_ID [--name NAME] [--url URL] [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]
Dabei gilt:
- WEBHOOK_ID ist die ID des Webhooks.
- -- Name Wert ist der Name des Webhooks.
- --Der Wert url ist der POST-Endpunkt, der aufgerufen werden soll, wenn eine Warnmeldung versendet wird.
- --secret value ist das Geheimnis, das im Webhook-Auth-Header übergeben wird, wenn eine Webhook-Benachrichtigung gesendet wird.
- -i, -- instance Wert ist der Instanzname oder die ID. Wenn nicht festgelegt, wird die durch cis instance-set INSTANCE angegebene Kontextinstanz verwendet.
- -- output Wert gibt das Ausgabeformat an; es wird nur JSON unterstützt.
Einen Webhook über die CLI löschen
Um einen Webhook über die CLI zu löschen, führen Sie den folgenden Befehl aus:
ibmcloud cis alert-webhook-delete WEBHOOK_ID [-i, --instance INSTANCE] [-f, --force]
Dabei gilt:
- WEBHOOK_ID ist die ID des Webhooks.
- i, -- instance Wert ist der Instanzname oder die ID. Wenn nicht festgelegt, wird die durch cis instance-set INSTANCE angegebene Kontextinstanz verwendet.
- -f, -- force versucht, den Webhook ohne Aufforderung zur Bestätigung zu löschen.
Konfigurieren von Webhooks mit der API
Zum Aufrufen dieser Methoden muss Ihnen mindestens eine IAM-Zugriffsrolle zugewiesen sein.
internet-svcs.zones.readinternet-svcs.zones.update
Sie können Ihren Zugriff überprüfen, indem Sie Benutzer > Name > Zugriffsrichtlinien aufrufen.
Erstellen eines Webhooks mit der API
Das Erstellen einer Webhook-Benachrichtigung erfolgt in zwei Schritten. Erstellen Sie zuerst den Webhook und verwenden Sie dann die ID in der Antwort, die Sie empfangen, um die Warnung zu erstellen.
Um einen Webhook über die API zu erstellen, führen Sie die folgenden Schritte aus:
-
Richten Sie Ihre API-Umgebung mit den richtigen Variablen ein.
-
Speichern Sie die folgenden Variablen, die im API-Befehl verwendet werden sollen:
crn: Der vollständige URL-codierte CRN der Serviceinstanz.name: Der Name des Webhooks.url: Die URL des Webhooks.secret: Das optionale Geheimnis oder der API-Schlüssel, der für die Nutzung des Webhooks erforderlich ist.
-
Wenn alle Variablen eingerichtet sind, führen Sie den folgenden Befehl aus, um den Webhook zu erstellen:
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"}'
Die folgende Antwort wird zurückgegeben:
{
"result": {
"id": "6d16fcab-3e80-44b3-b59b-a3716237832e"
},
"success": true,
"errors": [],
"messages": []
}
Verwenden Sie die ID aus der Antwort, die Sie erhalten haben, um die Warnmeldung zu erstellen:
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"}]}}'
Auflistung aller Webhooks mit der API
Um alle Webhooks über die API aufzulisten, führen Sie die folgenden Schritte aus:
-
Richten Sie Ihre API-Umgebung mit den richtigen Variablen ein.
-
Speichern Sie die folgende Variable, die im API-Befehl verwendet werden soll:
crn: Der vollständige URL-codierte CRN der Serviceinstanz.
-
Wenn alle Variablen initialisiert sind, rufen Sie die Liste der Webhooks ab:
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'
Details zu einem Webhook über die API abrufen
Um die Details eines Webhooks über die API abzurufen, führen Sie die folgenden Schritte aus:
-
Richten Sie Ihre API-Umgebung mit den richtigen Variablen ein.
-
Speichern Sie die folgenden Variablen, die im API-Befehl verwendet werden sollen:
crn: Der vollständige URL-codierte CRN der Serviceinstanz.webhook_id: Warnungs-Webhook-ID.
-
Wenn alle Variablen initialisiert sind, rufen Sie die Webhook-Details ab:
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'
Aktualisieren eines Webhooks über die API
Um einen Webhook über die API zu aktualisieren, führen Sie die folgenden Schritte aus:
-
Richten Sie Ihre API-Umgebung mit den richtigen Variablen ein.
-
Speichern Sie die folgenden Variablen, die im API-Befehl verwendet werden sollen:
crn: Der vollständige URL-codierte CRN der Serviceinstanz.webhook_id: Warnungs-Webhook-ID.name: Der Name des Webhooks.url: Die URL des Webhooks.secret: Das optionale Geheimnis oder der API-Schlüssel, der für die Nutzung des Webhooks erforderlich ist.
-
Wenn alle Variablen initialisiert sind, aktualisieren Sie den Webhook:
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"}'
Einen Webhook über die API löschen
Um einen Webhook über die API zu löschen, führen Sie die folgenden Schritte aus:
-
Richten Sie Ihre API-Umgebung mit den richtigen Variablen ein.
-
Speichern Sie die folgenden Variablen, die im API-Befehl verwendet werden sollen:
crn: Der vollständige URL-codierte CRN der Serviceinstanz.webhook_id: Warnungs-Webhook-ID.
-
Wenn alle Variablen initialisiert sind, löschen Sie den Webhook:
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'