カスタムルールセットのデプロイ
始める前に:
- カスタムルールセットをデプロイしたいフェーズの名前を取得します。
- カスタムルールセットを作成し、新しいカスタムルールセットのIDを保持します。
- フェーズのエントリポイントルールセットに既に存在するルールを取得。保持したいすべての既存ルールを
PUTリクエストに含める必要があります。
カスタムルールセットをデプロイするには、カスタムルールセットを実行するルールを追加します。ルール式でルールのスコープを定義します。
以下のPUTリクエストは、ゾーン名がexample.comと一致する場合にカスタムルールセットを実行するルールを追加します。
curl --request PUT \https://api.cloudflare.com/client/v4/accounts/{account_id}/rulesets/phases/http_request_firewall_custom/entrypoint \--header "Authorization: Bearer <API_TOKEN>" \--header "Content-Type: application/json" \--data '{ "rules": [ { "action": "execute", "description": "カスタムルールセットを実行", "expression": "(cf.zone.name == \"example.com\") and cf.zone.plan eq \"ENT\"", "action_parameters": { "id": "<CUSTOM_RULESET_ID>" } }, { "id": "<EXISTING_PHASE_RULE_ID_1>" }, { "id": "<EXISTING_PHASE_RULE_ID_2>" } ]}'レスポンスは、フェーズ内のルールを表示します。
{ "result": { "id": "<ACCOUNT_PHASE_RULESET_ID>", "name": "私のアカウントのhttp_request_firewall_customフェーズエントリポイントルールセット", "description": "いくつかのルールセットを実行", "kind": "root", "version": "3", "rules": [ { "id": "<PHASE_RULE_ID>", "version": "1", "action": "execute", "description":"カスタムルールセットを実行", "action_parameters": { "id": "<CUSTOM_RULESET_ID>", "version": "latest" }, "expression": "(cf.zone.name == \"example.com\") and cf.zone.plan eq \"ENT\"", "last_updated": "2021-03-18T18:35:14.135697Z", "ref": "<PHASE_RULE_REF>", "enabled": true }, { "id": "<EXISTING_PHASE_RULE_ID_1>", "version": "1", "action": "execute", "action_parameters": { "id": "<EXECUTED_RULESET_ID_1>", "version": "latest" }, "expression": "(cf.zone.name eq \"example.com\") and cf.zone.plan eq \"ENT\"", "last_updated": "2021-03-16T15:51:49.180378Z", "ref": "<EXISTING_PHASE_RULE_REF_1>", "enabled": true }, { "id": "<EXISTING_PHASE_RULE_ID_2>", "version": "1", "action": "execute", "action_parameters": { "id": "<EXECUTED_RULESET_ID_2>", "version": "latest" }, "expression": "(cf.zone.name eq \"example.com\") and cf.zone.plan eq \"ENT\"", "last_updated": "2021-03-16T15:50:29.861157Z", "ref": "<EXISTING_PHASE_RULE_REF_2>", "enabled": true } ], "last_updated": "2021-03-18T18:35:14.135697Z", "phase": "http_request_firewall_custom" }, "success": true, "errors": [], "messages": []}