クラウドポスチャ は、カスタムWebhookチャネル経由で送信される通知をサポートしています。これらの通知は、ユーザが作成したチャネルに送信され、関連するすべてのユーザが通知を受信します。
- [Webhookチャネルを作成します。]をクリックします。
- 自動通知を設定する。
- トリガーの設定。
- [設定する] では、次のパラメータを使用してWebhookチャネルを追加できます。
-
[Webhook][URL:] 「https」を使用した安全なWebhook URLを入力してください!!! note "" * URLの先頭にhttp://は使用できません (https://のみ) * URLにlocalhostを含めることはできません * URLにIPアドレスを含めることはできません
-
[Webhookセキュリティトークン]!!! note "" base64以外の文字は使用できません
クラウドポスチャからのペイロードの検証オプションのセキュリティトークンを設定すると、 クラウドポスチャ はそれを使用して各クラウドポスチャでハッシュ署名を作成します。これは、提供されたセキュリティトークンを使用してハッシュを計算し、Google側のハッシュがお客様側と一致することを確認するというものです。ハッシュ署名は クラウドポスチャ から生成され、HMAC hexdigest (sha-256) を使用するため、次の例のようにサーバを設定できます。const signatureHash = request.headers["X-クラウドポスチャ-Signature"]; const hmac = crypto.createHmac("sha256", YOUR_SECURITY_TOKEN); const digest = Buffer.from( hmac.update(JSON.stringify(PAYLOAD_BODY)).digest("hex") ); const checksum = Buffer.from(signatureHash, "utf8"); if ( checksum.length !== digest.length || !crypto.timingSafeEqual(digest, checksum) ) { console.log('Request body digest(${ digest }) did not match X - クラウドポスチャ - Signature(${ checksum })'); throw new Error("Hashes do not match!"); } console.log("Hashes match!");クラウドポスチャ-Signature"]; const hmac = crypto.createHmac("sha256", YOUR_SECURITY_TOKEN); const digest = Buffer.from( hmac.update(JSON.stringify(PAYLOAD_BODY)).digest("hex") ); const checksum = Buffer.from(signatureHash, "utf8"); if ( checksum.length !== digest.length || !crypto.timingSafeEqual(digest, checksum) ) { console.log('Request body digest(${ digest }) did not match X - クラウドポスチャ - Signature(${ checksum })'); throw new Error("Hashes do not match!"); } console.log("Hashes match!");
-
- Copy communication settingsチャネルの作成が成功すると、 [通信設定]からWebhookチャネルを確認できるようになります。