例外を作成する
例外を使用して、管理されたルールセットの一部のルールの実行をスキップします。例外はスキップルールとも呼ばれ、ルールのアクションは skip です。
例外の設定には、スキップ条件を定義する expression が含まれ、これらの条件下でスキップするルールまたは管理されたルールセットが指定されます。
例外は、次のいずれかの動作を持つことができます(優先度が高い順):
例外は特定のコンテキスト(ゾーンレベルまたはアカウントレベル)で定義され、そのコンテキストにのみ適用されます。たとえば、アカウントレベルで残りのすべてのルールをスキップする例外を定義した場合、ゾーンレベルのエントリポイントルールセットで定義されたルールは引き続き評価されます。
複数の例外の式に一致するものがある場合、Cloudflare は最も優先度の高い例外を考慮します。
例外は、後にリストされた管理されたルールセットを実行するルールにのみ適用されます。エントリポイントルールセットのルールリストの最後に例外を追加しても、何もスキップされません。
エントリポイントルールセット内の残りのすべてのルールをスキップするには、skip アクションを持つルールを作成し、action_parameters オブジェクトに "ruleset": "current" を含めます。
ルール定義の例:
{ "expression": "<RULE_EXPRESSION>", "action": "skip", "action_parameters": { "ruleset": "current" }}残りのすべてのルールをスキップすることは、現在のコンテキスト(アカウントまたはゾーン)のルールにのみ影響します。たとえば、アカウントレベルのフェーズエントリポイントルールセットに skip アクションを持つルールを追加しても、ゾーンレベルのフェーズエントリポイントルールセットで定義されたルールには影響しません。これらのゾーンレベルのルールは引き続き評価されます。
完全な例については、WAFドキュメントを参照してください。
1つ以上の管理されたルールセットをスキップするには、action_parameters オブジェクトに rulesets フィールドを含む skip アクションを持つルールを作成します。rulesets フィールドには、スキップしたい管理されたルールセットのIDのリストを含める必要があります。
ルール定義の例:
{ "expression": "<RULE_EXPRESSION>", "action": "skip", "action_parameters": { "rulesets": ["<MANAGED_RULESET_1_ID>", "<MANAGED_RULESET_2_ID>"] }}完全な例については、WAFドキュメントを参照してください。
1つ以上の管理されたルールセットのルールをスキップするには、action_parameters オブジェクトに rules オブジェクトを含む skip アクションを持つルールを作成します。rules オブジェクトには、1つ以上の管理されたルールセットのIDをキーとして含め、それぞれのキーの値としてスキップするルールのリストを含める必要があります。
管理されたルールセット 1 のルール A と B、および管理されたルールセット 2 のルール X をスキップするルール定義の例:
{ "expression": "<RULE_EXPRESSION>", "action": "skip", "action_parameters": { "rules": { "<MANAGED_RULESET_1_ID>": ["<RULE_A_ID>", "<RULE_B_ID>"], "<MANAGED_RULESET_2_ID>": ["<RULE_X_ID>"] } }}rules オブジェクト内のルールは、指定された管理されたルールセットに属している必要があります。そうでない場合、エラーが発生します。
完全な例については、WAFドキュメントを参照してください。
例外は オーバーライド よりも優先されます。
残りのすべてのルールをスキップする例外を定義した場合、そのルールの式は評価されません。
管理されたルールセットのルールをスキップする例外を定義した場合、管理されたルールセットを実行するルールの式は評価され、管理されたルールセットのルールはその特定のルールを除いて実行されます。