APIの例
Rulesets APIを使用して、API経由でカスタムルールを構成します。
skipアクションは、スキップしたいセキュリティ機能や製品に応じて、さまざまなスキップオプションをサポートしています。
このページには、カスタムルールのさまざまなスキップルールシナリオの例が含まれています。以下の点に留意してください。
-
{zone_id}の値は、ルールを追加したいゾーンのIDです。 -
{ruleset_id}の値は、http_request_firewall_customフェーズのエントリポイントルールセットのIDです。このルールセットIDを取得する方法の詳細については、ルールセットの一覧と表示を参照してください。このページのAPI例は、ゾーンルールセットルールの作成操作を使用して、既存のルールセットにスキップルールを追加します。ただし、エントリポイントルールセットはまだ存在しない場合があります。この場合、ゾーンルールセットの作成操作を呼び出して、スキップルールを持つエントリポイントルールセットを作成します。ルールセットの作成の例を参照してください。
-
各例には1つのアクションパラメータのみが含まれていますが、
ruleset、phases、およびproductsアクションパラメータを同時に指定することで、同じルール内で複数のスキップオプションを使用できます。
この例では、ゾーンルールセットルールの作成操作を呼び出して、IDが{ruleset_id}の既存のhttp_request_firewall_customフェーズエントリポイントルールセットにスキップルールを追加します。このルールは、ルール式に一致するリクエストの現在のルールセット内のすべての残りのルールをスキップします。
curl https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/{ruleset_id}/rules \--header "Authorization: Bearer <API_TOKEN>" \--header "Content-Type: application/json" \--data '{ "action": "skip", "action_parameters": { "ruleset": "current" }, "expression": "http.request.uri.path contains \"/skip-current-ruleset/\"", "description": ""}'この例では、ゾーンルールセットルールの作成操作を呼び出して、IDが{ruleset_id}の既存のhttp_request_firewall_customフェーズエントリポイントルールセットにルールを追加します。このルールは、ルール式に一致するリクエストのhttp_ratelimitフェーズをスキップします。
curl https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/{ruleset_id}/rules \--header "Authorization: Bearer <API_TOKEN>" \--header "Content-Type: application/json" \--data '{ "action": "skip", "action_parameters": { "phases": [ "http_ratelimit" ] }, "expression": "http.request.uri.path contains \"/skip-phase/\"", "description": ""}'スキップできるフェーズのリストについては、利用可能なスキップオプションを参照してください。
この例では、ゾーンルールセットルールの作成操作を呼び出して、次のルールを追加します。
http_ratelimitフェーズをスキップする- 現在のルールのイベントログを無効にする
curl https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/{ruleset_id}/rules \--header "Authorization: Bearer <API_TOKEN>" \--header "Content-Type: application/json" \--data '{ "action": "skip", "action_parameters": { "phases": [ "http_ratelimit" ] }, "logging": { "enabled": false }, "expression": "http.request.uri.path contains \"/disable-logging/\"", "description": ""}'スキップルールに一致するリクエストのログを無効にする方法については、利用可能なスキップオプション: ロギングを参照してください。
この例では、ゾーンルールセットルールの作成操作を使用して、ルール式に一致するリクエストのゾーンロックダウンおよびユーザーエージェントブロッキング製品をスキップするルールを追加します。
curl https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/{ruleset_id}/rules \--header "Authorization: Bearer <API_TOKEN>" \--header "Content-Type: application/json" \--data '{ "action": "skip", "action_parameters": { "products": [ "zoneLockdown", "uaBlock" ] }, "expression": "http.request.uri.path contains \"/skip-products/\"", "description": ""}'スキップできる製品のリストについては、利用可能なスキップオプションを参照してください。