Webhookを介したCMA通知の送信

概要

Cato Management Application (CMA) は、アカウント内のさまざまなセキュリティおよびネットワークイベントの通知を生成します。 Webhookの統合を使用して、これらの通知をServiceNow、Jira、Slack、Zendeskなどのサードパーティプラットフォームに自動的に配信できます。 これにより、外部システムはCatoイベントデータをリアルタイムで取り込み、インシデントの追跡と応答の自動化されたワークフローをトリガーできます。

Catoは2種類のWebhook統合をサポートしています:

  • 標準のWebhookは、HTTPリクエストを使用して外部プラットフォームのアイテムを作成または更新します。 

  • 相関化WebhookはXOpsサービスと統合します。 これらは相関IDを使用して、サードパーティツール内のXOpsセキュリティおよびネットワークストーリーのライフサイクルを表すアイテムを作成および更新します。 XOpsライセンスが必要です。

Webhook統合は完全に設定可能です。 HTTPメソッド(POSTまたはPUT)、ターゲットURL、認証方法、リクエストボディを定義します。 テンプレートとフィールド変数を使用して、サードパーティプラットフォームの要件に合わせてペイロード構造をカスタマイズできます。

Cato Webhook統合の理解

Webhook統合の種類

Catoは、アカウントをサードパーティプラットフォームと統合し、オートメーションフローを作成するためのこれらの種類のWebhookをサポートしています:

  • 標準のWebhookは、アカウントまたはシステムアラートに基づく通知やポリシー駆動の通知など、幅広いCMA通知をサポートします。 これにより、このデータを外部プラットフォームに配信し、Webhookが新しいレコードを作成するか既存のものを更新するかを設定します。

  • 相関化WebhookはXOpsサービス用に設計されています。 Webhook機能をセキュリティおよびネットワークストーリーに拡張することで、CMA内の各ストーリーが外部システムのレコードにマッピングされ、ストーリーの進行に応じて更新されます。 XOpsライセンスが必要です。

Webhookフロー - 新規作成または更新

Webhookフローは、CMAがサードパーティプラットフォームとどのようにコミュニケーションするかを規定します。新規レコードを作成するか、既存のものを更新します。

  • POST (Create) - Webhookがトリガーされるたびに、サードパーティプラットフォームに新しいアイテムを作成します。 例: Internet Firewallルールがトラフィックフローをブロックするたびに、新しいServiceNowチケットを開きます。

  • PUT (Update) – サードパーティプラットフォームの既存のアイテムを更新します。 リクエストには、有効なアイテムIDがURLまたはボディに含まれます。

認証方法

Webhook統合を作成する際には、さまざまな認証方法を選択できます:

  • Basic - ユーザー名とパスワード

  • Bearer - ベアラートークン

  • Custom - ユニークな認証を必要とするサービスのためのカスタムヘッダー。 必要に応じてキーと値のペアを追加します。

注: 第三者サービスへのアクセスが特定のIPアドレスに制限されている場合、許可する必要があるCatoのIPアドレスのリストについて、この 記事を参照してください(この記事を表示するには、ログインが必要です)。

通知コンテンツのカスタマイズ

テンプレートのcontentフィールドには、生成されたアラートの読み取り可能な概要が含まれ、メールアラートの内容に似ています。 コンテンツには次のフォーマットを選択できます: contentText, contentMarkdown, または contentHTML

ボディをカスタマイズすることを選択した場合、メッセージコンテンツで使用できるいくつかのデータフィールドがあります。 カスタムボディ(または構造)を定義し、その中にCatoのデータフィールドを埋め込むことができます。 $を入力すると、利用可能なデータフィールドが表示され、必要なフィールドを選択します。 フィールドはリストをフィルタリングするためにオートコンプリートを使用します。 Catoフィールドの詳細については、アラート統合のためのJSONフィールドを理解するを参照してください。

Webhook項目のデフォルト値

通知データに値が含まれていない場合でも柔軟性を持たせるために、動的Webhook項目に対してカスタムデフォルト値を定義できます。 これにより、Webhook URL、ヘッダー、または本文でデフォルトNA値を上書きすることができます。 フォールバック値を定義するには、このフォーマット ${field:defaultValue}を使用します。 例として、level項目が未設定の場合は${level:medium}を設定することができます。 関連フローでは、Webhook URLでフォールバックチケットIDを使用することもできます。例: https://EXAMPLE-INSTANCE.service-now.com/api/now/table/incident/${correlationId:12345}。このような場合、関連付けられていない通知はデフォルトのServiceNowチケットに収集されます。

標準Webhook統合

標準のWebhookを使用すると、幅広いユースケースにCMA通知をサードパーティプラットフォームに送信できます。 最初に、プラットフォームと統合するWebhookを定義します。 次に、Webhooksを使用して通知を生成するCMA通知とポリシールール(ファイアウォールアクションなど)を選択します。

Webhook統合の定義

サードパーティツール内のアイテム(チケット、Slackメッセージなど)を介して通知を送信するWebhook統合を作成します。 Webhookを設定して、POSTリクエストで新しいアイテムを作成するか、PUTリクエストで既存のアイテムを更新できます。 統合には、URL、リクエストボディ、認証方法、およびオプションのカスタムヘッダーとメッセージボディの設定が含まれます。

詳細を定義した後、接続をテストして機能することを確認できます。

Webhook統合を定義するには:

  1. ナビゲーションメニューから、アカウント > サブスクリプション をクリックし、Webhooks タブを選択します。

  2. 新しいWebhookをクリックします。 新しいWebhook統合 パネルが開きます。

  3. Webhookの詳細を設定します:

    1. 統合名前を入力します。

    2. スライダーをクリックして統合を有効(緑)または無効(灰色)にします(デフォルトで有効)。

  4. 統合のためのJSONテンプレートの設定を行います:

    • テンプレートから開始において、統合設定を自動的に反映するデフォルトのJSONテンプレートを選択します。

      カスタムボディ内のフィールドを調整および変更できます(以下のステップ7を参照)。

    注意: 別のテンプレートを選択した場合、カスタムボディ内のフィールドはリセットされます。 テンプレートの詳細については、以下のテンプレートとフィールドを参照してください。

  5. 接続詳細を設定します:

    1. Webhookを受信するサービスのURLを入力します。

      フィールドをURLの変数として使用できます。 $を入力して、利用可能なフィールドを確認します。

    2. リクエストメソッドで、このWebhookのフローを選択します: POSTまたはPUT

    3. 必要に応じて、サービスの認証方法と設定を構成します。

  6. (Optional) カスタムヘッダーで、統合のための追加のHTTPプロトコルごとにキーを定義します。

  7. カスタムボディで、Webhook通知の内容を定義します:

    1. (オプション) 本体を編集で内容をカスタマイズします。

      • エスケープ文字として/を使用して、ボディに$を使用します

      • 他のフィールドを埋め込むには$を入力します

      レスポンス相関IDは、標準のWebhook統合では使用されません。

    2. デフォルト値を定義するには、このフォーマット ${field:defaultValue}を使用します。例として${ID:12345}を挙げます。

  8. テストをクリックします。 CMAは、フィールド用に自動生成された内容でテストHTTPリクエストを送信します。

    統合がサービスに接続できる場合は、テストが正常に完了しました メッセージが表示されます。

    接続エラーがある場合、ページにはサービスから報告されたHTTPエラーコードとメッセージが表示されます。

  9. 保存をクリックしてください。 Webhook統合が保存され、サブスクリプションページの統合タブに追加されます。

標準Webhook統合のトリガーを定義する

標準のWebhookは、CMAからの通知によってアクティブ化されます。 2種類の通知を設定できます:

  1. CMA通知: CMAは、ロックされたユーザーや管理者、ライセンス更新など、アカウントに関する通知をプロアクティブに送信できます。 これらの通知はWebhook統合を介して直接送信できます。

    詳細については、アカウントレベルのアラートとシステム通知を参照してください。

  2. ポリシールール通知: ポリシールールにおいて、ルールが適用されるたびにWebhookに通知するためのトラック設定を構成できます。

ポリシーにルールを定義する際に、アクション領域を使用してWebhook統合を使用した通知を送信できます。

rule_webhook.png

相関化Webhook統合

XOpsサービスは、XOpsセキュリティおよびネットワークストーリーのライフサイクルをサードパーティプラットフォームと統合できる相関化Webhookをサポートします。 統合を設定すると、サードパーティプラットフォームがストーリー開始時に自動的に新しいチケットや問題、メッセージを作成し、ストーリーが進行または解決されるたびにそれを更新します。

これらの統合は、XOpsストーリーからの相関フィールドを使用して、CMA内の各ストーリーを外部プラットフォームのチケット、問題、またはメッセージにマッピングします。 これにより、更新が常に正しいアイテムに適用されることが保証されます。 XOpsライセンスが必要です。

これらの統合には以下が必要です:

  • 標準Webhook統合

  • 相関Webhook統合

  • 2種類のトリガー(各統合につき1つ)

標準Webhookを定義する

標準のWebhook統合を作成し、サードパーティツールに最初のアイテム(チケット、Slackメッセージなど)を作成します。 これらのアイテムは、相関されたWebhook統合によって更新されます。

詳細を定義した後、接続をテストして機能することを確認できます。

標準のWebhook統合を定義するには:

  1. ナビゲーションメニューから アカウント > サブスクリプション をクリックし、Webhooks タブを選択します。

  2. 新しいWebhook をクリックします。 新しいWebhook統合 パネルが開きます。

  3. Webhook詳細を設定します:

    1. 統合の名前を入力します。

    2. スライダーをクリックして統合を有効化(緑)または無効化(グレー)します(デフォルトでは有効)。

  4. 統合用のJSONテンプレートの設定を構成します:

    • テンプレートから開始で、統合設定に入力するデフォルトのJSONテンプレートを選択します。

      カスタムボディのフィールドを調整および変更できます(下記ステップ7参照)。

    注: 異なるテンプレートを選択した場合、カスタムボディのフィールドがリセットされます。 テンプレートについての詳細は、以下でテンプレートとフィールドを参照してください。

  5. 接続詳細を構成します:

    1. Webhookを受け取るサービスのURLを入力します。

      URL内でフィールドを変数として使用できます。 利用可能なフィールドを見るには$を入力します。

    2. リクエストメソッドで、POSTを選択します。

    3. 必要に応じてサービスの認証方法と設定を構成します。

  6. (省略可能) カスタムヘッダーで、統合用の追加のHTTPヘッダーのキーを定義します。

  7. カスタムボディで、Webhook通知の内容を定義します:

    1. レスポンス相関IDで、URLでの相関に使用するサードパーティのアイテムを定義します。 例えば、サービスNowではresult.sys_id、Zendeskではticket.idかもしれません。

    2. (オプション) 編集ボディでコンテンツをカスタマイズします。

      • / をエスケープ文字として入力して、ボディで$を使用します

      • 他のフィールドを埋め込むには$を入力します

    3. デフォルト値を定義するには、このフォーマット ${field:defaultValue}を使用します。例として${ID:12345}を挙げます。

  8. テストをクリックします。 CMAはフィールドのために自動生成されたコンテンツでテストHTTPリクエストを送信します。

    統合がサービスに接続できる場合は、テストが正常に完了しましたメッセージが表示されます。

    接続エラーがある場合、ページはサービスによって報告されたHTTPエラーコードとメッセージを表示します。

  9. 保存をクリックします。 Webhook統合は保存され、サブスクリプションページの統合タブに追加されます。

相関化Webhookの定義

相関されたWebhook統合を作成し、通知をサードパーティツール内のアイテム(チケット、Slackメッセージなど)で送信し、前手続きで作成された既存アイテムを更新します。

相関Webhookを設定すると、URLは相関IDを使用してサードパーティープラットフォームの正しい項目を更新します。 相関ID値が空の場合、更新は既存の項目とマッチせず失われます。 これを防ぐために、標準WebhookのカスタムボディにアイテムIDを追加し、オリジナルのチケット、問題、またはメッセージを作成します。 これにより、相関WebhookがそのIDを相関項目のフォールバック値として使用することができます。その結果、ストーリーのライフサイクルを通じてオリジナルの項目に対する後の更新が継続して適用されます。

詳細を定義した後、接続をテストして機能することを検証できます。

相関されたWebhook統合を定義するには:

  1. ナビゲーションメニューから アカウント > サブスクリプション をクリックし、Webhooks タブを選択します。

  2. 新しいWebhook をクリックします。 新しいWebhook統合 パネルが開きます。

  3. Webhook詳細を設定します:

    1. 統合の名前を入力します。

    2. スライダーをクリックして統合を有効化(緑)または無効化(グレー)します(デフォルトでは有効)。

  4. 統合用のJSONテンプレートの設定を構成します:

    • テンプレートから開始で、統合設定に入力するデフォルトのJSONテンプレートを選択します。

      カスタムボディのフィールドを調整および変更できます(下記ステップ7参照)。

    注: 異なるテンプレートを選択した場合、カスタムボディのフィールドがリセットされます。 テンプレートについての詳細は、以下でテンプレートとフィールドを参照してください。

  5. 接続詳細を構成します:

    1. Webhookを受け取るサービスのURLを入力します。 既存のアイテムと相関させるために、相関アイテムIDフィールドを追加します。

      URL内でフィールドを変数として使用できます。 利用可能なフィールドを見るには$を入力します。

    2. リクエストメソッドで、PUTを選択します。

    3. 必要に応じてサービスの認証方法と設定を構成します。

  6. (省略可能) カスタムヘッダーで、統合用の追加のHTTPヘッダーのキーを定義します。

  7. カスタムボディで、Webhook通知の内容を定義します:

    1. (オプション) 編集ボディでコンテンツをカスタマイズします。

      • / をエスケープ文字として入力して、ボディで$を使用します

      • 他のフィールドを埋め込むには$を入力します

    2. デフォルト値を定義するには、このフォーマット ${field:defaultValue}を使用します。例として${ID:12345}を挙げます。

  8. テストをクリックします。 CMAはフィールドのために自動生成されたコンテンツでテストHTTPリクエストを送信します。

    統合がサービスに接続できる場合は、テストが正常に完了しましたメッセージが表示されます。

    接続エラーがある場合、ページはサービスによって報告されたHTTPエラーコードとメッセージを表示します。

  9. 保存をクリックしてください。 Webhook統合は保存され、サブスクリプションページの統合タブに追加されます。

標準のWebhook統合のトリガーを定義する

標準のWebhookはCMAからの通知によってアクティブ化されます。 2種類の通知を設定できます:

  1. CMA通知: CMAはロックされたユーザーおよび管理者やライセンス更新など、アカウントに関する通知をプロアクティブに送信できます。 これらの通知は、Webhook統合を介して直接送信できます。

    詳細情報は、アカウントレベルのアラートとシステム通知 を参照してください。

  2. ポリシー ルール通知: ポリシールールでトラック設定を構成し、ルールが一致するたびにWebhookに通知を送信できます。

ポリシーのルールを定義する際に、アクションエリアを使用してWebhook統合を介して通知を送信できます。

rule_webhook.png

このためにトリガーを定義する: 相関統合のために定義された検出&対応通知を使用

検出と応答ポリシーを使用すると、相関化されたXOpsストーリーの新しいアイテムの作成と更新をサードパーティプラットフォームで自動化できます。 これにより、外部システムが常に現在のストーリーステータスを反映します。

ポリシー内で次のルールを構成できます:

  • ストーリーの作成: 新しいアイテムを作成する相関化Webhookをトリガー

  • ストーリーの更新: ストーリーが進行するたびに同じアイテムを更新する相関化Webhookをトリガー

ストーリーを同期させるために、ストーリー開始時にアイテムを作成し、ストーリーが変更されたときに更新する2つのルールを設定します。

Webhook通知のトリガーを定義するには:

  1. ナビゲーションメニューから、ホーム > 検出と応答ポリシーをクリックします。

  2. 応答ポリシータブを選択します。

  3. 新規をクリックします。 応答ポリシーに追加パネルが開きます。

  4. ルールの名前を入力します。

  5. ソースセクションで、タイプ(例: ホストIP範囲サイト)を選択し、このルールのストーリーソースのために一つ以上のオブジェクトを選択します(またはIPアドレスを入力します)。

    デフォルトのソース値はAnyです。

  6. (オプション) 該当するルールマッチを持つストーリーの特性を指定するための基準を定義します。

  7. ルールのトリガーを選択します。 

    • ストーリーの作成で新しいアイテムを作成

    • ストーリーの更新で既存のアイテムを更新

  8. 応答タブで通知を送信を選択します。

  9. 通知を送信する先で、統合を選択します。

  10. 統合で、通知を送信しているWebhook統合を選択します。

  11. 保存をクリックしてください。 ルールがポリシーに追加されます。

テンプレートとフィールド

各Webhookは、サードパーティシステムのフォーマットと動作に合わせて完全にカスタマイズできます。 WebhookはJSON形式で提供され、ターゲットプラットフォーム構造に適合するように調整できます。 静的および動的なペイロードの両方にCatoフィールド変数を使用します。

テンプレートを選択した後、JSONペイロードとしてボディを編集し、カスタムテンプレートとして保存できます。 また、データフィールドを JSON に埋め込むオプションがあり、ペイロードに関連する値を配置します(利用できない場合は NA)。

$ を入力すると、利用可能なフィールドが表示されます。 Cato フィールドの詳細については、警告統合のための JSON フィールドの理解 を参照してください。

Webhook を作成する際には、これらのテンプレートから選択できます。

  • すべてのフィールド - すべての利用可能なフィールドを含む

  • 基本 - 最も一般的に使用されるフィールドを含むテンプレート

  • Jira - 基本的な Jira テンプレート

  • ServiceNow チケットを作成 - ServiceNow に新しいチケットを作成します

  • ServiceNow チケットを更新 - 既存のチケットを ServiceNow で更新します

  • Slack - Slack チャンネルにメッセージを送信します

  • Zendesk チケットを作成 - Zendesk に新しいチケットを作成します

  • Zendesk チケットを更新 - 既存の Zendesk チケットを更新します

  • カスタム - テンプレートの設定をカスタマイズします

Webhook 統合の URL を定義する際にもフィールドを使用できます。

この記事は役に立ちましたか?

1人中0人がこの記事が役に立ったと言っています

0件のコメント