第5章 一般的な Webhook を使用した統合
Red Hat Advanced Cluster Security for Kubernetes を使用すると、アラート通知を JSON メッセージとして任意の Webhook レシーバーに送信できます。違反が発生すると、Red Hat Advanced Cluster Security for Kubernetes は設定された URL に対して HTTP POST リクエストを行います。POST リクエストの本文には、アラートに関する JSON 形式の情報が含まれています。
次の例に示すように、Webhook POST リクエストの JSON データには、v1.Alert
オブジェクトと設定したカスタムフィールドが含まれます。
{ "alert": { "id": "<id>", "time": "<timestamp>", "policy": { "name": "<name>", ... }, ... }, "<custom_field_1>": "<custom_value_1>" }
複数の Webhook を作成できます。たとえば、すべての監査ログを受信するための 1 つの Webhook と、アラート通知のための別の Webhook を作成できます。
Red Hat Advanced Cluster Security for Kubernetes から任意の Webhook レシーバーにアラートを転送するには:
- アラートを受信するための Webhook URL を設定します。
- Webhook URL を使用して、Red Hat Advanced Cluster Security for Kubernetes で通知を設定します。
- 通知を送信するポリシーを特定し、それらのポリシーの通知設定を更新します。
5.1. Webhook を使用した統合の設定
Webhook URL を使用して、Red Hat Advanced Cluster Security for Kubernetes に新しい統合を作成します。
手順
-
RHACS ポータルで、Platform Configuration
Integrations に移動します。 - Notifier Integrations セクションまでスクロールダウンし、Generic Webhook を選択します。
- New integration をクリックします。
- Integration name の名前を入力します。
- Endpoint フィールドに Webhook の URL を入力します。
Webhook レシーバーが信頼できない証明書を使用している場合は、CA certificate フィールドに CA 証明書を入力します。それ以外の場合は、空白のままにします。
注記Webhook レシーバーが使用するサーバー証明書は、エンドポイント DNS 名に対して有効である必要があります。Skip TLS verification をクリックして、この検証を無視できます。Red Hat は、TLS 検証をオフにすることを推奨していません。TLS 検証がないと、意図しない受信者によってデータが傍受される可能性があります。
オプション: Enable audit logging をクリックして、Red Hat Advanced Cluster Security for Kubernetes で行われたすべての変更に関するアラートを受信します。
注記Red Hat は、アラートと監査ログに別々の Webhook を使用して、これらのメッセージを異なる方法で処理することを提案しています。
Webhook レシーバーで認証するには、次のいずれかの詳細を入力します。
- 基本 HTTP 認証の ユーザー名 と パスワード
-
カスタム ヘッダー、例:
Authorization: Bearer <access_token>
-
Extra fields を使用して、Red Hat Advanced Cluster Security for Kubernetes が送信する JSON オブジェクトに追加のキーと値のペアを含めます。たとえば、Webhook レシーバーが複数のソースからのオブジェクトを受け入れる場合は、追加フィールドとして
"source": "rhacs"
を追加し、この値でフィルター処理して、Red Hat Advanced Cluster Security for Kubernetes からのすべてのアラートを識別できます。 - Test を選択してテストメッセージを送信し、一般的な Webhook との統合が機能していることを確認します。
- Save を選択して設定を作成します。