Webhook
Webhook 可以用來接收有關在 AppScan on Cloud 中發生之事件的通知。
- 掃描執行完成
- 應用程式的計數器或狀態已變更
當起始 Webhook 時,Presence 會收到來自 ASoC 的指令,然後將 HTTP GET 要求傳送至針對本端網路中的 Webhook 所設定的 URI。
由於 Presence,這個 HTTP 要求可以傳送至組織內的伺服器,不需要針對來自 ASoC 的送入要求開啟防火牆。
您會定義 Webhook,這樣當您想要的事件觸發時,Presence 會起始對 URI 的 GET 要求。URI 可以包含位置保留元 {SubjectId}
,其會取代為事件主旨的 ID。
範例:
Webhook URI:http://myservice.com/ScanEnded/{SubjectId}
事件類型:「掃描執行完成」
觸發程式是具有以下 ID 的掃描執行: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 是在組織層次定義,範圍可以是特定 AssetGroup。
限定範圍的 Webhook 只會在其中一個相關聯範圍底下發生事件時觸發。
舉例來說,如果 Webhook 設定為在「掃描執行完成」時觸發,且 Webhook 的「範圍」是特定應用程式,Webhook 會在每次該應用程式內的掃描執行完成時觸發。