INTEGRITY Dokumentace

Vlastní sady pravidel (úroveň zóny)

Vlastní sady pravidel jsou kolekce vlastních pravidel, které můžete nasadit na úrovni zóny nebo úroveň účtu.

Podobně jako vlastní pravidla, vlastní sady pravidel umožňují řídit příchozí provoz filtrováním požadavků.

Vlastní sadu pravidel můžete aplikovat například na všechny příchozí požadavky své zóny, nebo jen na jejich podmnožinu.

Na úrovni zóny mohou vlastní sady pravidel vytvářet a nasazovat všichni zákazníci. Vlastní sady pravidel na úrovni účtu vyžadují plán Enterprise. Podrobnosti najdete v Dostupnost.

Nasazení vlastní sady pravidel přes API

Vytvoření vlastní sady pravidel ji neaktivuje. Vlastní sady pravidel se spouštějí, pouze když pravidlo s akcí execute akce na ně odkazuje z entry point ruleset fáze — sada pravidel nejvyšší úrovně, kterou Cloudflare vyhodnocuje pro každý požadavek v dané fáze.

Nasazení vlastní sady pravidel pro zónu:

  1. Vytvořte vlastní sadu pravidel na úrovni zóny s jedním nebo více pravidly. Případně identifikujte existující vlastní sadu pravidel, kterou chcete nasadit, pomocí Výpis sad pravidel zóny operace API.
  2. Přidejte pravidlo s execute na http_request_firewall_custom (entry point ruleset fáze) s odkazem na ID vlastní sady pravidel. Toto pravidlo říká Cloudflare, aby vlastní sadu pravidel spustil, když výraz pravidla odpovídá.

1. Vytvořte vlastní sadu pravidel

Následující požadavek vytvoří novou vlastní sadu pravidel na úrovni zóny se dvěma pravidly. Odpověď bude obsahovat ID nové vlastní sady pravidel v id pole.

Požadovaná oprávnění API tokenu

Alespoň jedno z následujících oprávnění tokenu je vyžadováno:
Vytvoření sady pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Custom Ruleset 1",
		"description": "My First Custom Ruleset (zone)",
		"kind": "custom",
		"phase": "http_request_firewall_custom",
		"rules": [
				{
						"expression": "(ip.src.country in {\"GB\" \"FR\"} and cf.bot_management.score < 20 and not cf.bot_management.verified_bot)",
						"action": "challenge",
						"description": "challenge GB and FR based on bot score"
				},
				{
						"expression": "not http.request.uri.path wildcard \"/api/*\"",
						"action": "challenge",
						"description": "challenge not /api"
				}
		]
	}'
{
	"result": {
		"id": "f82ccda3d21f4a02825d3fe45b5e1c10",
		"name": "Custom Ruleset 1",
		"description": "My First Custom Ruleset (zone)",
		"kind": "custom",
		"version": "1",
		"rules": [
			{
				"expression": "(ip.src.country in {\"GB\" \"FR\"} and cf.bot_management.score < 20 and not cf.bot_management.verified_bot)",
				"action": "challenge",
				"description": "challenge GB and FR based on bot score"
			},
			{
				"expression": "not http.request.uri.path wildcard \"/api/*\"",
				"action": "challenge",
				"description": "challenge not /api"
			}
		],
		"last_updated": "2025-11-09T10:27:30.636197Z",
		"phase": "http_request_firewall_custom"
	},
	"success": true,
	"errors": [],
	"messages": []
}

2. Nasaďte vlastní sadu pravidel

Nasaďte vlastní sadu pravidel přidáním pravidla s "action": "execute" do http_request_firewall_custom vstupní sada pravidel fáze.

  1. Vyvolejte Získání vstupní sady pravidel zóny operaci k získání definice entry point rulesetu pro fázi http_request_firewall_custom fázi. Budete potřebovat ID zóny pro tuto úlohu.

    Požadovaná oprávnění API tokenu

    Alespoň jedno z následujících oprávnění tokenu je vyžadováno:
    • Zone WAF Write
    • Zone WAF Read
    Získání vstupní sady pravidel zóny
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_custom/entrypoint" \
    	--request GET \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
    {
    	"result": {
    		"description": "Zone-level phase entry point",
    		"id": "<ENTRY_POINT_RULESET_ID>",
    		"kind": "zone",
    		"last_updated": "2025-11-16T15:40:08.202335Z",
    		"name": "zone",
    		"phase": "http_request_firewall_custom",
    		"rules": [
    			// ...
    		],
    		"version": "10"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }
  2. Pokud entry point ruleset již existuje (tedy pokud jste obdrželi 200 OK stavový kód a definici sady pravidel), poznamenejte si ID sady pravidel z odpovědi. Poté zavolejte Vytvoření pravidla v sadě pravidel zóny operaci k přidání execute pravidlo do existující sady pravidel, nasazující vlastní sadu pravidel vytvořenou v kroku 1 (nahraďte f82ccda3d21f4a02825d3fe45b5e1c10 ID vaší vlastní sady pravidel).
    Protože výraz je true, vlastní sada pravidel se spustí pro všechny příchozí požadavky. Ve výchozím nastavení bude pravidlo přidáno na konec seznamu pravidel, která již v sadě jsou.

    Požadovaná oprávnění API tokenu

    Alespoň jedno z následujících oprávnění tokenu je vyžadováno:
    • Zone WAF Write
    Vytvoření pravidla v sadě pravidel zóny
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$ENTRY_POINT_RULESET_ID/rules" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"action": "execute",
    		"expression": "true",
    		"action_parameters": {
    				"id": "f82ccda3d21f4a02825d3fe45b5e1c10"
    		},
    		"description": "Execute custom ruleset"
    	}'
    {
    	"result": {
    		"id": "<ENTRY_POINT_RULESET_ID>",
    		"name": "zone",
    		"description": "Zone-level phase entry point",
    		"kind": "zone",
    		"version": "11",
    		"rules": [
    			// ... any existing rules
    			{
    				"id": "<RULE_ID>",
    				"version": "1",
    				"action": "execute",
    				"action_parameters": {
    					"id": "f82ccda3d21f4a02825d3fe45b5e1c10"
    				},
    				"expression": "true",
    				"description": "Execute custom ruleset",
    				"last_updated": "2025-11-18T18:08:14.003361Z",
    				"ref": "<RULE_REF>",
    				"enabled": true
    			}
    		],
    		"last_updated": "2025-11-18T18:08:14.003361Z",
    		"phase": "http_request_firewall_custom"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }
  3. Pokud entry point ruleset neexistuje (tedy pokud jste obdrželi 404 Not Found stavový kód v kroku 1), vytvořte jej pomocí Vytvoření sady pravidel zóny operace. Zahrňte jediné pravidlo do pole rules pole, které spouští vlastní sadu pravidel pro všechny příchozí požadavky v zóně. Nahraďte f82ccda3d21f4a02825d3fe45b5e1c10 ID vaší vlastní sady pravidel.

    Požadovaná oprávnění API tokenu

    Alespoň jedno z následujících oprávnění tokenu je vyžadováno:
    • Zone WAF Write
    Vytvoření sady pravidel zóny
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"name": "zone",
    		"description": "Zone-level phase entry point",
    		"kind": "zone",
    		"phase": "http_request_firewall_custom",
    		"rules": [
    				{
    						"action": "execute",
    						"action_parameters": {
    								"id": "f82ccda3d21f4a02825d3fe45b5e1c10"
    						},
    						"expression": "true",
    						"description": "Execute custom ruleset"
    				}
    		]
    	}'

Další kroky

Použijte jednotlivé operace v Rulesets API pro práci s vlastní sadou pravidel, kterou jste vytvořili a nasadili. Následující tabulka obsahuje seznam běžných úloh pro práci s vlastními sadami pravidel na úrovni zóny:

Úloha Postup
Získání seznamu vlastních sad pravidel

Použijte Výpis sad pravidel zóny operaci a vyhledejte rulesety s "kind": "custom" a "phase": "http_request_firewall_custom". Odpověď bude obsahovat ID sad pravidel.

Další informace viz Výpis existujících sad pravidel.

Výpis všech pravidel ve vlastní sadě pravidel

Použijte Získání sady pravidel zóny operaci s ID vlastní sady pravidel, abyste získali seznam nakonfigurovaných pravidel a jejich ID.

Další informace viz Zobrazení konkrétní sady pravidel.

Aktualizace vlastního pravidla

Použijte Aktualizace pravidla v rulesetu zóny operaci. Budete muset zadat ID vlastní sady pravidel a ID pravidla.

Další informace viz Aktualizace pravidla v sadě pravidel.

Smazání vlastního pravidla

Použijte Odstranění pravidla ze sady pravidel zóny operaci. Budete muset zadat ID vlastní sady pravidel a ID pravidla.

Další informace viz Smazání pravidla v sadě pravidel.

Další zdroje

Další informace o práci s vlastními sadami pravidel přes Cloudflare API najdete v Práce s vlastními sadami pravidel v dokumentaci Ruleset Engine.