APIを介してペイロードロギングを構成する
Rulesets APIを使用して、APIを介して管理されたルールセットのペイロードロギングを構成します。
-
Get a zone entry point ruleset操作を使用して、次のIDを取得します:
http_request_firewall_managedphaseのentry point rulesetのID。- ペイロードロギングを構成したいWAF管理ルールセットを展開するルール(
executeルール)のID。
-
前のステップで特定したルールを更新するために、Update a zone ruleset rule操作を使用します。
ルールの
action_parametersオブジェクトにmatched_dataオブジェクトを含めて、ペイロードロギングを構成します。matched_dataオブジェクトは次の構造を持っています:"action_parameters": {// ..."matched_data": {"public_key": "<PUBLIC_KEY_VALUE>"}}<PUBLIC_KEY_VALUE>をペイロードロギングに使用したい公開鍵に置き換えます。公開鍵はコマンドラインまたはCloudflareダッシュボードで生成できます。
この例では、IDが{zone_id}のゾーンに既に展開されているCloudflare Managed Rulesetのペイロードロギングを構成します。
-
Get a zone entry point ruleset操作(
GETリクエスト)を呼び出して、http_request_firewall_managedフェーズのエントリポイントルールセットに現在構成されているルールを取得します。リクエスト curl https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/phases/http_request_firewall_managed/entrypoint \--header "Authorization: Bearer <API_TOKEN>"例の応答 {"result": {"id": "060013b1eeb14c93b0dcd896537e0d2c", // エントリポイントルールセットID"name": "default","description": "","source": "firewall_managed","kind": "zone","version": "3","rules": [// (...){"id": "1bdb49371c1f46958fc8b985efcb79e7", // `execute`ルールID"version": "1","action": "execute","expression": "true","last_updated": "2024-01-20T14:21:28.643979Z","ref": "1bdb49371c1f46958fc8b985efcb79e7","enabled": true,"action_parameters": {"id": "efb7b8c949ac4650a09736fc376e9aee", // "Cloudflare Managed Ruleset" ID"version": "latest"}}// (...)],"last_updated": "2024-01-20T14:29:00.190643Z","phase": "http_request_firewall_managed"},"success": true,"errors": [],"messages": []} -
次のステップのために以下のIDを保存します:
- エントリポイントルールセットのID:
060013b1eeb14c93b0dcd896537e0d2c - Cloudflare Managed Rulesetを展開する
executeルールのID:1bdb49371c1f46958fc8b985efcb79e7
rules配列内で正しいルールを見つけるには、action_parameters>idにCloudflare Managed RulesetのID(...376e9aee)を含むexecuteルールを検索します。 - エントリポイントルールセットのID:
-
Update a zone ruleset rule操作(
PATCHリクエスト)を呼び出して、特定したルールの構成を更新します。ルールには、ペイロードロギング構成(matched_dataオブジェクト)が含まれるようになります。リクエスト curl --request PATCH \"https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/060013b1eeb14c93b0dcd896537e0d2c/rules/1bdb49371c1f46958fc8b985efcb79e7" \--header "Authorization: Bearer <API_TOKEN>" \--header "Content-Type: application/json" \--data '{"action": "execute","action_parameters": {"id": "efb7b8c949ac4650a09736fc376e9aee","matched_data": {"public_key": "Ycig/Zr/pZmklmFUN99nr+taURlYItL91g+NcHGYpB8="}},"expression": "true"}'応答には、ルールを更新した後の完全なルールセットが含まれます。
APIを介して管理されたルールセットを展開する方法の詳細については、Ruleset EngineのドキュメントのDeploy a managed rulesetを参照してください。
管理されたルールセットのペイロードロギングを無効にするには:
-
Update a zone ruleset rule操作(
PATCHリクエスト)を使用して、管理ルールセットを展開するルール(executeルール)を更新します。 -
ルール定義を変更して、
action_parametersにmatched_dataオブジェクトが含まれないようにします。
例えば、次のPATCHリクエストは、ペイロードロギングが無効になるようにCloudflare Managed Rulesetを展開するIDが{rule_id}のルールを更新します:
curl --request PATCH \"https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/{entrypoint_ruleset_id}/rules/{rule_id}" \--header "Authorization: Bearer <API_TOKEN>" \--header "Content-Type: application/json" \--data '{ "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee" }, "expression": "true"}'エントリポイントルールセットIDと更新するルールのIDを取得する詳細については、Configure and enable payload loggingを参照してください。