Webhook

Webhook 可用于接收关于 AppScan on Cloud 中发生的事件的通知。

通过 ASoC REST API 支持用户定义的 HTTP 回调(或 Webhook)。支持下列两种事件类型:
  • 扫描执行完成
  • 应用程序的计数器或状态已更改
要使用 Webhook,必须首先下载 AppScan Presence 并将其安装到本地网络(通常是一次性过程)。Presence 连接到 ASoC

启动 Webhook 时,Presence 从 ASoC 获取命令,并向已为本地网络中的 Webhook 设置的 URI 发送 HTTP GET 请求。

由于 Presence,该 HTTP 请求可以发送到组织内的服务器,而无需打开防火墙以接收来自 ASoC 的传入请求。

您需要定义 Webhook,以便在所需事件被触发时,Presence 将启动对 URI 的 GET 请求。URI 可以包含占位符 {SubjectId},该占位符将替换为事件主题的标识。

示例:

Webhook URI:http://myservice.com/ScanEnded/{SubjectId}

事件类型:“扫描执行完成”

触发器是具有以下标识的扫描执行:9ea1fcb6-dc1d-443a-bfff-7465ced2ef1b

发送的请求将是:
GET /ScanEnded/9ea1fcb6-dc1d-443a-bfff-7465ced2ef1b HTTP/1.1 
Host: myservice.com 
请注意,Webhook 会发送与事件相关的任何数据。要获取数据(例如在扫描中发现的问题的列表),您需要实施一个单独的服务,该服务在处理事件时将使用 API 密钥登录 ASoC 并从 ASoC API 检索所需的数据。

Webhook 访问控制

要创建或修改 Webhook,您需要在 ASoC 中具有“创建/修改 Webhook”许可权,缺省情况下这些许可权已分配给管理员和管理员角色,但它们也可以添加到定制角色。

可以在组织级别定义 Webhook,或为特定资产组定义 Webhook。
  • 组织级别的 Webhook 由管理员,或由具有所有组的完全访问权限的用户定义和管理。
  • 资产组级别的 Webhook 可由有权访问资产组且有权创建/修改 Webhook 的任何用户定义和管理。

Webhook 范围

Webhook 可定义为“全局”或“有限范围”。

每当发生与 Webhook 的事件类型相匹配的事件时(在组织或资产组中,根据定义),就会触发全局 Webhook。

定义为全局的 Webhook 可与一个或多个范围关联。范围可以是特定的应用程序,或者,如果 Webhook 是在组织级别定义的,则范围可以是特定资产组。

仅当事件在关联的其中一个范围下发生时,才会触发范围的 Webhook。

例如,如果将 Webhook 设置为在“扫描执行完成”时触发,并且该 Webhook 的范围是一个特定应用程序,则该应用程序中每次扫描执行完成时都会触发该 Webhook。