← Dokumentace WAF / custom-rules
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.
Stejně jako vlastní pravidla, vlastní sady pravidel vám umožňují kontrolovat příchozí provoz filtrováním požadavků.
Vlastní sadu pravidel můžete například použít na všechny příchozí požadavky vaší zóny nebo 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. Další podrobnosti najdete v Dostupnost.
Nasazení vlastní sady pravidel přes API
Vytvoření vlastní sady pravidel ji ještě neaktivuje. Vlastní sady pravidel se spustí až tehdy, když je vyvolá pravidlo s execute akce na ně odkazuje z vstupní sada pravidel fáze, sada pravidel nejvyšší úrovně, kterou Cloudflare vyhodnocuje u každého požadavku v dané fáze.
Chcete-li nasadit vlastní sadu pravidel pro zónu:
- 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í Seznam sad pravidel zóny operace API.
- Přidejte pravidlo s
executeakci dohttp_request_firewall_customfáze vstupní sady pravidel, s odkazem na ID vlastní sady pravidel. Toto pravidlo říká Cloudflare, aby spustil vlastní sadu pravidel, pokud 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 .
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Zone WAF Write
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 je vstupní sada pravidel dané fáze.
-
Vyvolejte Získání vstupní sady pravidel zóny operaci k získání definice vstupní sady pravidel pro
http_request_firewall_customfáze. Budete potřebovat ID zóny pro tento úkol.
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Zone WAF WriteZone WAF Read
Získání vstupní sady pravidel zónycurl "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": [] } -
Pokud vstupní sada pravidel již existuje (to znamená, pokud jste obdrželi
200 OKstavový kód a definici sady pravidel), poznamenejte si ID sady pravidel z odpovědi. Poté zavolejte Vytvoření pravidla sady pravidel zóny operaci pro přidáníexecutepravidlo do stávající sady pravidel nasazující vlastní sadu pravidel, kterou jste vytvořili v kroku 1 (nahraďtef82ccda3d21f4a02825d3fe45b5e1c10ID vaší vlastní sady pravidel).
Protože výraz jetrue, vlastní sada pravidel se spustí u všech příchozích požadavků. Ve výchozím nastavení se pravidlo přidá na konec seznamu pravidel, která jsou v sadě pravidel již obsažena.
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Zone WAF Write
Vytvoření pravidla sady pravidel zónycurl "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": [] } -
Pokud vstupní sada pravidel neexistuje (to znamená, pokud jste obdrželi
404 Not Foundstavový kód v kroku 1), vytvořte ji pomocí Vytvoření rulesetu zóny operaci. Zahrňte jedno pravidlo dorulespole, které spouští vlastní sadu pravidel pro všechny příchozí požadavky v zóně. Nahraďtef82ccda3d21f4a02825d3fe45b5e1c10ID vaší vlastní sady pravidel.
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Zone WAF Write
Vytvoření rulesetu zónycurl "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 různé operace v Rulesets API, abyste pracovali s vlastní sadou pravidel, kterou jste vytvořili a nasadili. Následující tabulka obsahuje seznam běžných úkolů pro práci s vlastními sadami pravidel na úrovni zóny:
| Úkol | Postup |
|---|---|
| Získání seznamu vlastních sad pravidel | Použijte Seznam sad pravidel zóny operaci a vyhledejte sady pravidel s Další informace najdete v tématu Seznam existujících sad pravidel. |
| Seznam 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 najdete v tématu Zobrazit konkrétní sadu pravidel. |
| Aktualizace vlastního pravidla | Použijte Aktualizace pravidla v sadě pravidel zóny operaci. Budete muset zadat ID vlastní sady pravidel a ID pravidla. Další informace najdete v tématu Aktualizace pravidla v sadě pravidel. |
| Odstranění vlastního pravidla | Použijte Odstranění pravidla sady pravidel zóny operaci. Budete muset zadat ID vlastní sady pravidel a ID pravidla. Další informace najdete v tématu Odstraňte pravidlo 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 k Ruleset Engine.