Configurazione di webhooks
I webhook consentono a IBM Cloud® Internet Services di inviare notifiche in tempo reale a sistemi esterni quando si verificano eventi specifici nel tuo account. Integrando i webhook con i vostri criteri di avviso, potete automatizzare le risposte o attivare flussi di lavoro in servizi di terze parti.
È possibile configurare i webhook utilizzando la console IBM Cloud, la CLI o l'API.
Gli avvisi e i webhook sono disponibili solo nei piani Enterprise.
Configurazione dei webhook nella console
Per configurare i webhook nella console, accedere alla pagina Account e selezionare la scheda Avvisi. Nella sezione Segnalazioni, selezionare la scheda webhooks.
Creare un webhook nella console
- Fai clic su Crea.
- Inserisci un nome per il tuo webhook.
- Inserisci il webhook URL. Questo " URL " non può essere aggiornato; se si desidera modificarlo, è necessario eliminare e ricreare il webhook.
- Inserire il segreto di webhook. Il segreto non può essere aggiornato; se si desidera modificarlo, è necessario eliminare e ricreare il webhook.
Modifica di un webhook nella console
Per modificare un webhook nella console, fare clic sull'icona Modifica accanto al nome del webhook che si desidera aggiornare. Puoi modificare solo il nome del webhook. Se devi modificare un webhook, eliminalo e ricrealo invece di modificarlo direttamente.
Eliminazione di un webhook nella console
Per eliminare un webhook nella console, fare clic
del webhook che si desidera eliminare, quindi selezionare Elimina. Selezionare Elimina nella finestra di conferma.
Configurazione dei webhook dalla CLI
Creazione di un webhook dalla CLI
Per creare un webhook dalla CLI, eseguire il seguente comando:
ibmcloud cis alert-webhook-create --name NAME --url URL [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]
Dove:
- --name value è il nome del webhook.
- -- url value è l'endpoint POST da richiamare quando viene inviato un avviso.
- -- secret value è il segreto passato nell'intestazione di autenticazione webhook quando viene inviato un avviso webhook.
- -io, --instance valore è il nome o l'ID dell'istanza. Se non viene specificato, viene utilizzata l'istanza di contesto indicata dal comando 'cis instance-set INSTANCE'.
- -- output value specifica il formato di output; è supportato solo JSON.
Elenco di tutti i webhook dalla CLI
Per elencare un webhook dalla CLI, immetti il seguente comando.
ibmcloud cis alert-webhooks [-i, --instance INSTANCE] [--output FORMAT]
Dove:
- -io, --instance valore è il nome o l'ID dell'istanza. Se non viene specificato, viene utilizzata l'istanza di contesto indicata dal comando 'cis instance-set INSTANCE'.
- -- output value specifica il formato di output; è supportato solo JSON.
Come ottenere i dettagli per un webhook dalla CLI
Per ottenere i dettagli di un webhook dalla CLI, eseguire il seguente comando:
ibmcloud cis alert-webhook WEBHOOK_ID [-i, --instance INSTANCE] [--output FORMAT]
Dove:
- WEBHOOK_ID è l'ID del webhook.
- -io, --instance valore è il nome o l'ID dell'istanza. Se non viene specificato, viene utilizzata l'istanza di contesto indicata dal comando 'cis instance-set INSTANCE'.
- -- output value specifica il formato di output; è supportato solo JSON.
Aggiornamento di un webhook dalla CLI
Per aggiornare un webhook dalla CLI, eseguire il seguente comando:
ibmcloud cis alert-webhook-update WEBHOOK_ID [--name NAME] [--url URL] [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]
Dove:
- WEBHOOK_ID è l'ID del webhook.
- --name value è il nome del webhook.
- -- url value è l'endpoint POST da richiamare quando viene inviato un avviso.
- -- secret value è il segreto passato nell'intestazione di autenticazione webhook quando viene inviato un avviso webhook.
- -io, --instance valore è il nome o l'ID dell'istanza. Se non viene specificato, viene utilizzata l'istanza di contesto indicata dal comando 'cis instance-set INSTANCE'.
- -- output value specifica il formato di output; è supportato solo JSON.
Eliminazione di un webhook dalla CLI
Per eliminare un webhook dalla CLI, eseguire il seguente comando:
ibmcloud cis alert-webhook-delete WEBHOOK_ID [-i, --instance INSTANCE] [-f, --force]
Dove:
- WEBHOOK_ID è l'ID del webhook.
- io, --instance valore è il nome o l'ID dell'istanza. Se non viene specificato, viene utilizzata l'istanza di contesto indicata dal comando 'cis instance-set INSTANCE'.
- -F, --force tenta di eliminare il webhook senza richiedere conferma.
Configurazione dei webhook tramite l'API
Per richiamare questi metodi è necessario essere assegnati uno o più ruoli di accesso IAM.
internet-svcs.zones.readinternet-svcs.zones.update
Puoi verificare il tuo accesso andando a Utenti> name > Politiche di accesso.
Creazione di un webhook tramite l'API
La creazione di un avviso webhook è un processo in due fasi. In primo luogo, creare il webhook, quindi utilizzare l'ID nella risposta che si riceve per creare l'avviso.
Per creare un webhook con l'API, attieniti alla seguente procedura:
-
Impostare il proprio ambiente API con le variabili corrette.
-
Memorizzare le seguenti variabili da utilizzare nel comando API:
crn: il CRN completo codificato in URL dell'istanza di servizio.name: il nome del webhook.url: l' URL e del webhook.secret: il segreto facoltativo o la chiave API necessari per utilizzare il webhook.
-
Quando tutte le variabili sono state inizializzate, eseguire il comando seguente per creare il 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"}'
Viene restituita la seguente risposta:
{
"result": {
"id": "6d16fcab-3e80-44b3-b59b-a3716237832e"
},
"success": true,
"errors": [],
"messages": []
}
Utilizzare l'ID della risposta ricevuta per creare l'avviso:
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"}]}}'
Elenco di tutti i webhook con l'API
Per elencare tutti i webhook con l'API, procedere come segue:
-
Impostare il proprio ambiente API con le variabili corrette.
-
Memorizzare la seguente variabile da utilizzare nel comando API:
crn: il CRN completo codificato in URL dell'istanza di servizio.
-
Quando tutte le variabili vengono avviate, ottenere l'elenco dei webhooks:
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'
Come ottenere i dettagli per un webhook con l'API
Per ottenere i dettagli di un webhook con l'API, procedere come segue:
-
Impostare il proprio ambiente API con le variabili corrette.
-
Memorizzare le seguenti variabili da utilizzare nel comando API:
crn: il CRN completo codificato in URL dell'istanza di servizio.webhook_id: identificativo webhook di avviso.
-
Quando tutte le variabili vengono avviate, ottenere i dettagli del webhook:
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'
Aggiornamento di un webhook con la API
Per aggiornare un webhook con l'API, procedere come segue:
-
Impostare il proprio ambiente API con le variabili corrette.
-
Memorizzare le seguenti variabili da utilizzare nel comando API:
crn: il CRN completo codificato in URL dell'istanza di servizio.webhook_id: identificativo webhook di avviso.name: il nome del webhook.url: l' URL e del webhook.secret: il segreto facoltativo o la chiave API necessari per utilizzare il webhook.
-
Quando tutte le variabili vengono avviate, aggiornare il 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"}'
Eliminazione di un webhook con l'API
Per eliminare un webhook con l'API, attieniti alla seguente procedura:
-
Impostare il proprio ambiente API con le variabili corrette.
-
Memorizzare le seguenti variabili da utilizzare nel comando API:
crn: il CRN completo codificato in URL dell'istanza di servizio.webhook_id: identificativo webhook di avviso.
-
Quando tutte le variabili vengono avviate, eliminare il 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'