Webhook

Webhook により、AppScan on Cloud で発生したイベントに関する通知を受け取れるようになりました。

ASoC REST API では、ユーザー定義の HTTP コールバック (Webhook) がサポートされています。次の 2 つのイベント・タイプがサポートされています。
  • スキャン実行完了
  • 変更したアプリケーションの数またはステータス
Webhook を使用するには、まず AppScan Presence をご使用のローカル・ネットワークにダウンロードのうえインストールします (通常は 1 回の処理で済みます)。プレゼンスが ASoC に接続されます。

Webhook が開始されると、プレゼンスが ASoC からコマンドを取得し、HTTP GET 要求をローカル・ネットワークの Webhook に設定された URI に送信します。

プレゼンスによって、この HTTP 要求が組織内のサーバーに送信されます。ASoC から着信要求に対してファイアウォールを開く必要はありません。

必要なイベントがトリガーされたときにプレゼンスで URI に対する GET 要求が開始されるように Webhook を定義します。URI にはプレース・ホルダー {SubjectId} を含めることができます。このプレース・ホルダーに代えて、イベントの件名の ID を指定できます。

例:

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

イベント・タイプ: 「スキャン実行完了」

トリガーは、9ea1fcb6-dc1d-443a-bfff-7465ced2ef1b という ID を使用してスキャンを実行します。

送信された要求は、次のようになります。
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 は、1 つ以上の「有効範囲」に関連付けることができます。「有効範囲」は、特定のアプリケーションにすることができます。または、Webhook が組織レベルで定義される場合、有効範囲は特定の資産グループとなる可能性があります。

有効範囲が指定された Webhook は、イベントが関連する有効範囲のいずれかで発生する場合にのみトリガーされます。

例えば、Webhook が「スキャンの実行完了」時にトリガーされるよう設定されている場合に Webhook の「有効範囲」が特定のアプリケーションであるとき、Webhook はアプリケーション内でスキャン実行が完了するたびにトリガーされます。