Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

API でペイロードログを設定する

最終更新 Markdown で表示Agent セットアップ

Rulesets API を使い、API でマネージドルールセットのペイロードログを設定します。

ペイロードログを設定して有効にする

  1. ゾーンのエントリポイントルールセットを取得する 操作で、次の ID を取得します。

  2. ゾーンのルールセットルールを更新する 操作で、前のステップで特定したルールを更新します。

    ルールの 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 のペイロードログを設定します。

  1. ゾーンのエントリポイントルールセットを取得する 操作を呼び出し、http_request_firewall_managed フェーズのエントリポイントルールセットに現在設定されているルールを取得します。

    Get a zone entry point rulesetbash
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
    	--request GET \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
    {
    	"result": {
    		"id": "060013b1eeb14c93b0dcd896537e0d2c", // entry point ruleset ID
    		"name": "default",
    		"description": "",
    		"source": "firewall_managed",
    		"kind": "zone",
    		"version": "3",
    		"rules": [
    			// (...)
    			{
    				"id": "1bdb49371c1f46958fc8b985efcb79e7", // `execute` rule 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": []
    }
  2. 次のステップのために、次の ID を保存します。

    • エントリポイントルールセットの ID: 060013b1eeb14c93b0dcd896537e0d2c
    • Cloudflare Managed Ruleset をデプロイしている execute ルールの ID: 1bdb49371c1f46958fc8b985efcb79e7

    rules 配列で正しいルールを探すには、action_parameters > id に Cloudflare Managed Ruleset の ID()を含む execute ルールを検索します。

  3. ゾーンのルールセットルールを更新する 操作を呼び出し、特定したルールの設定を更新します。このルールに、ペイロードログの設定(matched_data オブジェクト)が含まれます。

    Update a zone ruleset rulebash
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/060013b1eeb14c93b0dcd896537e0d2c/rules/1bdb49371c1f46958fc8b985efcb79e7" \
    	--request PATCH \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"action": "execute",
    		"action_parameters": {
    				"id": "efb7b8c949ac4650a09736fc376e9aee",
    				"matched_data": {
    						"public_key": "Ycig/Zr/pZmklmFUN99nr+taURlYItL91g+NcHGYpB8="
    				}
    		},
    		"expression": "true"
    	}'

    レスポンスには、ルール更新後のルールセット全体が含まれます。

API でマネージドルールセットをデプロイする詳細は、Ruleset Engine ドキュメントの マネージドルールセットをデプロイする を参照してください。


ペイロードログを無効にする

マネージドルールセットのペイロードログを無効にする手順は次のとおりです。

  1. ゾーンのルールセットルールを更新する 操作で、マネージドルールセットをデプロイしているルール("action": "execute" のルール)を更新します。

  2. action_parametersmatched_data オブジェクトがないように、ルール定義を変更します。

たとえば、次の PATCH リクエストは、Cloudflare Managed Ruleset をデプロイしている ID $RULE_ID のルールを更新し、ペイロードログを無効にします。

Update a zone ruleset rulebash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules/$RULE_ID" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"action": "execute",
		"action_parameters": {
				"id": "efb7b8c949ac4650a09736fc376e9aee"
		},
		"expression": "true"
	}'

エントリポイントルールセット ID と更新するルール ID の取得方法は、ペイロードログを設定して有効にする を参照してください。

役に立ちましたか?