IBM Cloud Docs
Webhook の構成

Webhook の構成

IBM Cloud® Internet Services には、イベント発生時に警告を出すように API を介して設定できるアラートがあります。 アカウントでイベントが発生したときに外部サービスに通知するには、Webhook を使用します。

アラートは、エンタープライズ・プランでのみ使用可能です。

コンソールでウェブフックを設定する

コンソールでウェブフックを設定するには、 アカウントページに移動し、 アラートタブを選択します。 「アラート」セクションで、Webhook タブを選択します。

コンソールでウェブフックを作成する

  1. 「作成」 をクリックします。
  2. Webhook の名前を入力します。
  3. Webhook URL を入力します。 この URL は更新できません。変更したい場合は、ウェブフックを削除して再作成する必要があります。
  4. Webhook 秘密を入力します。 シークレットは更新できません。変更したい場合は、ウェブフックを削除して再作成する必要があります。

コンソールでウェブフックを編集する

コンソールでウェブフックを編集するには、更新したいウェブフックの名前の横にある鉛筆のアイコンをクリックします。 編集できるのはウェブフックの名前だけです。 Webhookを変更する必要がある場合は、編集するのではなく、Webhookを削除して再作成することをお勧めします。

コンソールでウェブフックを削除する

コンソールでウェブフックを削除するには、削除したいウェブフックのアクションメニューのオーバーフローアイコンを クリックし、 削除を選択します。 確認するには確認ボックスで削除を選択し、削除操作を完了せずに確認ボックスを閉じるには取り消しを選択します。

CLIからWebhookを設定する

CLIからWebhookを作成する

CLIからウェブフックを作成するには、以下のコマンドを実行します。

ibmcloud cis alert-webhook-create --name NAME --url URL [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]

ここで、

  • --name value は Webhook の名前です。
    • -url値は、アラートがディスパッチされたときに呼び出されるPOSTエンドポイントです。
    • -secret値は、ウェブフック・アラートがディスパッチされるときにウェブフックのauthヘッダーに渡される秘密です。
  • -i, --instance value は、インスタンス名または ID です。 設定されていない場合は、'cis instance-set INSTANCE' で指定されたコンテキストインスタンスが使用される。
  • --出力値は出力形式を指定します。JSON のみがサポートされます。

CLIからすべてのウェブフックを一覧表示する

CLIからウェブフックを一覧表示するには、以下のコマンドを実行します。

ibmcloud cis alert-webhooks [-i, --instance INSTANCE] [--output FORMAT]

ここで、

  • -i, --instance value は、インスタンス名または ID です。 設定されていない場合は、'cis instance-set INSTANCE' で指定されたコンテキストインスタンスが使用される。
  • --出力値は出力形式を指定します。JSON のみがサポートされます。

CLIからWebhookの詳細を取得する

CLIからウェブフックを取得するには、以下のコマンドを実行する。

ibmcloud cis alert-webhook WEBHOOK_ID [-i, --instance INSTANCE] [--output FORMAT]

ここで、

  • WEBHOOK_ID は、Webhook の ID です。
  • -i, --instance value は、インスタンス名または ID です。 設定されていない場合は、'cis instance-set INSTANCE' で指定されたコンテキストインスタンスが使用される。
  • --出力値は出力形式を指定します。JSON のみがサポートされます。

CLIからWebhookを更新する

CLIからウェブフックを更新するには、以下のコマンドを実行します。

ibmcloud cis alert-webhook-update WEBHOOK_ID [--name NAME] [--url URL] [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]

ここで、

  • WEBHOOK_ID は、Webhook の ID です。
  • --name value は Webhook の名前です。
    • -url値は、アラートがディスパッチされたときに呼び出されるPOSTエンドポイントです。
    • -secret値は、ウェブフック・アラートがディスパッチされるときにウェブフックのauthヘッダーに渡される秘密です。
  • -i, --instance value は、インスタンス名または ID です。 設定されていない場合は、'cis instance-set INSTANCE' で指定されたコンテキストインスタンスが使用される。
  • --出力値は出力形式を指定します。JSON のみがサポートされます。

CLI からウェブフックを削除する

CLI からウェブフックを削除するには、以下のコマンドを実行します。

ibmcloud cis alert-webhook-delete WEBHOOK_ID [-i, --instance INSTANCE] [-f, --force]

ここで、

  • WEBHOOK_ID は、Webhook の ID です。
  • i, --instance value は、インスタンス名または ID です。 設定されていない場合は、'cis instance-set INSTANCE' で指定されたコンテキストインスタンスが使用される。
  • -f, --force は、確認のプロンプトを出さずに Webhook の削除を試行します。

APIでWebhookを設定する

これらのメソッドを呼び出すには、1 つ以上の IAM アクセス役割が割り当てられている必要があります。

  • internet-svcs.zones.read
  • internet-svcs.zones.update

アクセス権限を確認するには、**「ユーザー」 > 「名前」 > 「アクセス・ポリシー」**にアクセスします。

APIでウェブフックを作成する

Webhookアラートの作成は、2つのステップで行います。 まず、Webhook を作成してから、受信した応答内の ID を使用してアラートを作成します。

APIを使ってWebhookを作成するには、以下の手順に従ってください:

  1. 正しい変数を使用して API 環境をセットアップします。
  2. APIコマンドで使用する以下の変数を格納する:
    • crn: サービス・インスタンスの URL エンコードされた完全な CRN。
    • name: Webhook の名前です。
    • url: Webhook の URL です。
    • secret: ウェブフックを使用するために必要な、オプションのシークレットキーまたはAPIキー。
  3. すべての変数が開始されたら、Webhook を作成します。
curl -X POST https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks
-H 'content-type: application/json'
-H 'x-auth-user-token: Bearer xxxxxx'
-d '{"name":"Example Webhook","url":"https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd"}'

APIを使用してすべてのWebhookを一覧表示する

APIによるすべてのWebhookを一覧表示するには、以下の手順に従います:

  1. 正しい変数を使用して API 環境をセットアップします。
  2. APIコマンドで使用する以下の変数を格納する:
    • crn: サービス・インスタンスの URL エンコードされた完全な CRN。
  3. すべての変数が開始されたら、Webhook のリストを取得します。
curl -X GET https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks
-H 'content-type: application/json'
-H 'accept: application/json'
-H 'x-auth-user-token: Bearer xxxxxx'

APIでWebhookの詳細を取得する

APIを使ってウェブフックの詳細を取得するには、以下の手順に従ってください:

  1. 正しい変数を使用して API 環境をセットアップします。
  2. APIコマンドで使用する以下の変数を格納する:
    • crn: サービス・インスタンスの URL エンコードされた完全な CRN。
    • webhook_id: アラート Webhook ID。
  3. すべての変数が開始されたら、Webhook の詳細を取得します。
curl -X GET https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id
-H 'content-type: application/json'
-H 'accept: application/json'
-H 'x-auth-user-token: Bearer xxxxxx'

APIでウェブフックを更新する

APIを使用してWebhookを更新するには、以下の手順に従います:

  1. 正しい変数を使用して API 環境をセットアップします。
  2. APIコマンドで使用する以下の変数を格納する:
    • crn: サービス・インスタンスの URL エンコードされた完全な CRN。
    • webhook_id: アラート Webhook ID。
    • name: Webhook の名前です。
    • url: Webhook の URL です。
    • secret: ウェブフックを使用するために必要な、オプションのシークレットキーまたはAPIキー。
  3. すべての変数が開始されたら、Webhook を更新します。
curl -X PUT https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id
-H 'content-type: application/json'
-H 'x-auth-user-token: Bearer xxxxxx'
-d '{"name":"Example Webhook","url":"https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd"}'

APIでウェブフックを削除する

APIを使用してWebhookを削除するには、以下の手順に従います:

  1. 正しい変数を使用して API 環境をセットアップします。
  2. APIコマンドで使用する以下の変数を格納する:
    • crn: サービス・インスタンスの URL エンコードされた完全な CRN。
    • webhook_id: アラート Webhook ID。
  3. すべての変数が開始されたら、Webhook を削除します。
curl -X DELETE https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id
-H 'content-type: application/json'
-H 'accept: application/json'
-H 'x-auth-user-token: Bearer xxxxxx'