Webhook
Webhook 可用于接收关于 AppScan on Cloud 中发生的事件的通知。
- 扫描执行完成
- 应用程序的计数器或状态已更改
启动 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。