Webhook

Webhook 可以用來接收有關在 AppScan on Cloud 中發生之事件的通知。

使用者定義的 HTTP 回呼 - 或 Webhook - 透過 ASoC REST API 受支援。支援兩種事件類型:
  • 掃描執行完成
  • 應用程式的計數器或狀態已變更
若要使用 Webhook,您必須先下載 AppScan Presence 並且將其安裝至您的本端網路(通常是一次性處理程序)。Presence 會連線至 ASoC

當起始 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 可以與一或多個範圍相關聯。「範圍」可以是特定應用程式,或者如果 Webhook 是在組織層次定義,範圍可以是特定 AssetGroup。

限定範圍的 Webhook 只會在其中一個相關聯範圍底下發生事件時觸發。

舉例來說,如果 Webhook 設定為在「掃描執行完成」時觸發,且 Webhook 的「範圍」是特定應用程式,Webhook 會在每次該應用程式內的掃描執行完成時觸發。