コンテンツにスキップ

カスタムルールセットのデプロイ

始める前に:

  1. カスタムルールセットをデプロイしたいフェーズの名前を取得します。
  2. カスタムルールセットを作成し、新しいカスタムルールセットのIDを保持します。
  3. フェーズのエントリポイントルールセットに既に存在するルールを取得。保持したいすべての既存ルールを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": []
}