← Dokumentace WAF / account / custom-rulesets
Vytvoření vlastní sady pravidel pomocí API
Nasazení vlastních pravidel na úrovni účtu:
- Vytvořte vlastní sadu pravidel s jedním nebo více pravidly. Případně identifikujte existující vlastní sadu pravidel, kterou chcete nasadit, pomocí Výpis sad pravidel účtu operace API.
- Nasaďte vlastní sadu pravidel, aby se vykonávala. K nasazení vlastní sady pravidel vytvořte pravidlo s
executeakci.
Použijte Rulesets API pro práci s vlastními sadami pravidel přes API.
Pokud používáte Terraform, viz Konfigurace vlastních pravidel WAF pomocí Terraformu.
Postup
Vlastní sadu pravidel nasadíte podle těchto obecných kroků:
- Vytvořte vlastní sadu pravidel ve fázi
http_request_firewall_customfázi s jedním nebo více pravidly. - Nasaďte sadu pravidel do vstupní sada pravidel (entry point ruleset)
http_request_firewall_customfáze.
1. Vytvořte vlastní sadu pravidel
Následující příklad vytvoří vlastní sadu pravidel na úrovni účtu s jediným pravidlem v rules pole.
Požadovaná oprávnění API tokenu
Alespoň jedno z následujících oprávnění tokenu je vyžadováno:Account WAF WriteAccount Rulesets Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"description": "",
"kind": "custom",
"name": "My custom ruleset",
"rules": [
{
"description": "Challenge web traffic (not /api)",
"expression": "not starts_with(http.request.uri.path, \"/api/\")",
"action": "managed_challenge"
}
],
"phase": "http_request_firewall_custom"
}'Uložte si ID sady pravidel z odpovědi pro další krok.
2. Nasaďte vlastní sadu pravidel
Vlastní sadu pravidel nasadíte přidáním pravidla s "action": "execute" do http_request_firewall_custom vstupní sada pravidel fáze.
-
Vyvolejte Získání entry point rulesetu účtu operaci k získání definice entry point rulesetu pro fázi
http_request_firewall_customfázi. Budete potřebovat ID účtu pro tuto úlohu.
Alespoň jedno z následujících oprávnění tokenu je vyžadováno:Požadovaná oprávnění API tokenu
Account WAF WriteAccount WAF ReadAccount Rulesets ReadAccount Rulesets Write
Získání entry point rulesetu účtucurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/phases/http_request_firewall_custom/entrypoint" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{ "result": { "description": "Account-level phase entry point", "id": "<RULESET_ID>", "kind": "root", "last_updated": "2024-03-16T15:40:08.202335Z", "name": "root", "phase": "http_request_firewall_custom", "rules": [ // ... ], "version": "9" }, "success": true, "errors": [], "messages": [] } -
Pokud entry point ruleset již existuje (tedy 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 v sadě pravidel účtu operaci k přidáníexecutepravidlo do existující sady pravidel, nasazující vlastní sadu pravidel. Ve výchozím nastavení bude pravidlo přidáno na konec seznamu pravidel, která již v sadě jsou.Následující požadavek vytvoří pravidlo, které vykonává vlastní sadu pravidel s ID
<CUSTOM_RULESET_ID>pro všechny zóny Enterprise v účtu:
Alespoň jedno z následujících oprávnění tokenu je vyžadováno:Požadovaná oprávnění API tokenu
Account WAF WriteAccount Rulesets Write
Vytvoření pravidla v sadě pravidel účtucurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/$RULESET_ID/rules" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "description": "Execute custom ruleset", "expression": "(cf.zone.plan eq \"ENT\")", "action": "execute", "action_parameters": { "id": "<CUSTOM_RULESET_ID>" }, "enabled": true }' -
Pokud entry point ruleset neexistuje (tedy pokud jste obdrželi
404 Not Foundstavový kód v kroku 1), vytvořte jej pomocí Vytvoření rulesetu účtu operace. Zahrňte jediné pravidlo do polerulespole, které spouští vlastní sadu pravidel pro všechny příchozí požadavky Enterprise zón ve vašem účtu.
Alespoň jedno z následujících oprávnění tokenu je vyžadováno:Požadovaná oprávnění API tokenu
Account WAF WriteAccount Rulesets Write
Vytvoření rulesetu účtucurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "description": "", "kind": "root", "name": "Account-level phase entry point", "rules": [ { "action": "execute", "expression": "(cf.zone.plan eq \"ENT\")", "action_parameters": { "id": "<CUSTOM_RULESET_ID>" } } ], "phase": "http_request_firewall_custom" }'
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 účtu:
| Úloha | Postup |
|---|---|
| Získání seznamu vlastních sad pravidel | Použijte Výpis sad pravidel účtu operaci a vyhledejte rulesety s Další informace viz Výpis existujících sad pravidel. |
| Výpis všech pravidel ve vlastní sadě pravidel | Použijte Získání rulesetu účtu 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 sadě pravidel účtu 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 účtu operaci. Budete muset zadat ID vlastní sady pravidel a ID pravidla. Další informace viz Smazání pravidla v sadě pravidel. |
Další zdroje
Pokyny k vytvoření vlastní sady pravidel na úrovni zóny přes API najdete v Vlastní sady pravidel (úroveň zóny).
Další informace o práci s vlastními sadami pravidel viz Práce s vlastními sadami pravidel v dokumentaci Ruleset Engine.