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

  1. Pulse Crear.
  2. Especifique un nombre para el webhook.
  3. Especifique el URL del webhook. Este URL no se puede actualizar; si quieres modificarlo, debes eliminar y volver a crear el webhook.
  4. 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 icono Acciones 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.read
  • internet-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:

  1. Configure el entorno de la API con las variables correctas.

  2. 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.
  3. 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:

  1. Configure el entorno de la API con las variables correctas.

  2. Almacena la siguiente variable para utilizarla en el comando de la API:

    • crn: el CRN codificado por url completo de la instancia de servicio.
  3. 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:

  1. Configure el entorno de la API con las variables correctas.

  2. 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.
  3. 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:

  1. Configure el entorno de la API con las variables correctas.

  2. 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.
  3. 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:

  1. Configure el entorno de la API con las variables correctas.

  2. 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.
  3. 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'