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 會在每次該應用程式內的掃描執行完成時觸發。