Configuración de webhooks
Los webhooks permiten que IBM Cloud® Internet Services envíe notificaciones en tiempo real a sistemas externos cuando se producen eventos específicos en tu cuenta. Al integrar webhooks con sus políticas de alerta, puede automatizar respuestas o activar flujos de trabajo en servicios de terceros.
Puede configurar los webhooks mediante la consola IBM Cloud, la CLI o la API.
Las alertas y los webhooks sólo están disponibles en los planes Enterprise.
Configuración de webhooks en la consola
Para configurar los webhooks en la consola, ve a la página Cuenta y selecciona la pestaña Alertas. En la sección Alertas, seleccione la pestaña Webhooks.
Creación de un webhook en la consola
- Pulse Crear.
- Especifique un nombre para el webhook.
- Especifique el URL del webhook. Este URL no se puede actualizar; si quieres modificarlo, debes eliminar y volver a crear el webhook.
- Especifique el secreto del webhook. La clave no se puede actualizar; si quieres cambiarla, debes eliminar y volver a crear el webhook.
Edición de un webhook en la consola
Para editar un webhook en la consola, haz clic en el icono Editar situado junto al nombre del webhook que deseas actualizar. Solo puedes editar el nombre del webhook. Si necesitas modificar un webhook, elimínalo y vuelve a crearlo en lugar de editarlo.
Cómo eliminar un webhook en la consola
Para eliminar un webhook en la consola, haga clic en el
del menú Acciones del webhook que desea eliminar y, a continuación, seleccione Eliminar. Seleccione
Borrar en la ventana de confirmación.
Configuración de webhooks desde la CLI
Creación de un webhook desde la CLI
Para crear un webhook desde la CLI, ejecuta el siguiente comando :
ibmcloud cis alert-webhook-create --name NAME --url URL [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]
Donde:
- --name value es el nombre del webhook.
- --El valor de url es el punto final POST al que hay que enviar la solicitud cuando se envía una alerta.
- --secret value es el secreto que se transmite en el encabezado de autenticación del webhook cuando se envía una alerta de webhook.
- -i, --instance value es el nombre o ID de la instancia. Si no se especifica, se utiliza la instancia de contexto indicada por cis instance-set INSTANCE.
- --output value especifica el formato de salida; sólo se da soporte a JSON.
Listado de todos los webhooks desde la CLI
Para mostrar una lista de webhooks desde la CLI, ejecuta el siguiente comando.
ibmcloud cis alert-webhooks [-i, --instance INSTANCE] [--output FORMAT]
Donde:
- -i, --instance value es el nombre o ID de la instancia. Si no se especifica, se utiliza la instancia de contexto indicada por cis instance-set INSTANCE.
- --output value especifica el formato de salida; sólo se da soporte a JSON.
Obtener detalles de un webhook desde la CLI
Para obtener información detallada sobre un webhook desde la CLI, ejecuta el siguiente comando :
ibmcloud cis alert-webhook WEBHOOK_ID [-i, --instance INSTANCE] [--output FORMAT]
Donde:
- WEBHOOK_ID es el ID de webhook.
- -i, --instance value es el nombre o ID de la instancia. Si no se especifica, se utiliza la instancia de contexto indicada por cis instance-set INSTANCE.
- --output value especifica el formato de salida; sólo se da soporte a JSON.
Actualización de un webhook desde la CLI
Para actualizar un webhook desde la CLI, ejecuta el siguiente comando :
ibmcloud cis alert-webhook-update WEBHOOK_ID [--name NAME] [--url URL] [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]
Donde:
- WEBHOOK_ID es el ID de webhook.
- --name value es el nombre del webhook.
- --El valor de url es el punto final POST al que hay que enviar la solicitud cuando se envía una alerta.
- --secret value es el secreto que se transmite en el encabezado de autenticación del webhook cuando se envía una alerta de webhook.
- -i, --instance value es el nombre o ID de la instancia. Si no se especifica, se utiliza la instancia de contexto indicada por cis instance-set INSTANCE.
- --output value especifica el formato de salida; sólo se da soporte a JSON.
Cómo eliminar un webhook desde la CLI
Para eliminar un webhook desde la CLI, ejecuta el siguiente comando :
ibmcloud cis alert-webhook-delete WEBHOOK_ID [-i, --instance INSTANCE] [-f, --force]
Donde:
- WEBHOOK_ID es el ID de webhook.
- i, --instance value es el nombre o ID de la instancia. Si no se especifica, se utiliza la instancia de contexto indicada por cis instance-set INSTANCE.
- -f, --force intenta suprimir el webhook sin solicitar confirmación.
Configuración de webhooks con la API
Para llamar a estos métodos, debe tener asignado uno o más roles de acceso de IAM.
internet-svcs.zones.readinternet-svcs.zones.update
Puede comprobar su acceso yendo a Usuarios > nombre > Políticas de acceso.
Creación de un webhook con la API
La creación de una alerta de webhook es un proceso que consta de dos pasos. En primer lugar, cree el webhook y, a continuación, utilice el ID en la respuesta que reciba para crear la alerta.
Para crear un webhook mediante la API, sigue estos pasos:
-
Configure el entorno de la API con las variables correctas.
-
Almacena las siguientes variables para utilizarlas en el comando de la API:
crn: el CRN codificado por url completo de la instancia de servicio.name: el nombre del webhook.url: el URL del webhook.secret: el secreto o la clave API opcional que se necesita para utilizar el webhook.
-
Cuando todas las variables estén iniciadas, ejecute el siguiente comando para crear el 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"}'
Se devuelve la respuesta siguiente:
{
"result": {
"id": "6d16fcab-3e80-44b3-b59b-a3716237832e"
},
"success": true,
"errors": [],
"messages": []
}
Utiliza el ID que figura en la respuesta que has recibido para crear la alerta:
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"}]}}'
Listado de todos los webhooks con la API
Para obtener una lista de todos los webhooks con la API, sigue estos pasos:
-
Configure el entorno de la API con las variables correctas.
-
Almacena la siguiente variable para utilizarla en el comando de la API:
crn: el CRN codificado por url completo de la instancia de servicio.
-
Cuando se inicien todas las variables, obtenga la lista de 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'
Obtener detalles de un webhook mediante la API
Para obtener los detalles de un webhook con la API, sigue estos pasos:
-
Configure el entorno de la API con las variables correctas.
-
Almacena las siguientes variables para utilizarlas en el comando de la API:
crn: el CRN codificado por url completo de la instancia de servicio.webhook_id: identificador de webhook de alerta.
-
Cuando se inicien todas las variables, obtenga los detalles 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'
Actualización de un webhook mediante la API
Para actualizar un webhook con la API, sigue estos pasos:
-
Configure el entorno de la API con las variables correctas.
-
Almacena las siguientes variables para utilizarlas en el comando de la API:
crn: el CRN codificado por url completo de la instancia de servicio.webhook_id: identificador de webhook de alerta.name: el nombre del webhook.url: el URL del webhook.secret: el secreto o la clave API opcional que se necesita para utilizar el webhook.
-
Cuando se inicien todas las variables, actualice el 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"}'
Cómo eliminar un webhook mediante la API
Para eliminar un webhook mediante la API, sigue estos pasos:
-
Configure el entorno de la API con las variables correctas.
-
Almacena las siguientes variables para utilizarlas en el comando de la API:
crn: el CRN codificado por url completo de la instancia de servicio.webhook_id: identificador de webhook de alerta.
-
Cuando se inicien todas las variables, suprima el 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'