← Dokumentace WAF / account / custom-rulesets
Vytvoření vlastní sady pravidel pomocí API
Chcete-li nasadit vlastní pravidla 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í Seznam sad pravidel na úrovni účtu operace API.
- Nasaďte vlastní sadu pravidel, aby se spustila. Chcete-li nasadit vlastní sadu pravidel, vytvořte pravidlo s
executejako akci.
Použijte Rulesets API, abyste pracovali s vlastními sadami pravidel pomocí API.
Pokud používáte Terraform, přečtěte si Konfigurace vlastních pravidel WAF pomocí Terraformu.
Postup
Chcete-li nasadit vlastní sadu pravidel, postupujte podle těchto obecných kroků:
- Vytvořte vlastní sadu pravidel v
http_request_firewall_customfáze s jedním nebo více pravidly. - Nasaďte sadu pravidel do vstupní sada pravidel
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ň jeden z následujících oprávnění tokenu je povinné: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
Chcete-li nasadit vlastní sadu pravidel, přidejte pravidlo s "action": "execute" do http_request_firewall_custom je vstupní sada pravidel dané fáze.
-
Vyvolejte Získání vstupní sady pravidel účtu operaci k získání definice vstupní sady pravidel pro
http_request_firewall_customfáze. Budete potřebovat ID účtu pro tento úkol.
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Account WAF WriteAccount WAF ReadAccount Rulesets ReadAccount Rulesets Write
Získání vstupní sady pravidel úč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 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 účtu operaci pro přidáníexecutepravidlo do stávající sady pravidel nasazující vlastní sadu pravidel. Ve výchozím nastavení bude pravidlo přidáno na konec seznamu pravidel již obsažených v sadě pravidel.Následující požadavek vytvoří pravidlo, které spustí vlastní sadu pravidel s ID
<CUSTOM_RULESET_ID>pro všechny zóny s plánem Enterprise v účtu:
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Account WAF WriteAccount Rulesets Write
Vytvoření pravidla sady 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 vstupní sada pravidel neexistuje (to znamená, pokud jste obdrželi
404 Not Foundstavový kód v kroku 1), vytvořte ji pomocí Vytvořte account ruleset operaci. Zahrňte jedno pravidlo dorulespole, které spouští vlastní sadu pravidel pro všechny příchozí požadavky zón Enterprise ve vašem účtu.
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Account WAF WriteAccount Rulesets Write
Vytvořte account rulesetcurl "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 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 účtu:
| Úkol | Postup |
|---|---|
| Získání seznamu vlastních sad pravidel | Použijte Seznam sad pravidel na úrovni účtu 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 účtu 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 sady pravidel účtu 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 účtu 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
Pokyny k vytvoření vlastní sady pravidel na úrovni zóny pomocí API najdete v Vlastní sady pravidel (úroveň zóny).
Další informace o práci s vlastními sadami pravidel najdete v Práce s vlastními sadami pravidel v dokumentaci k Ruleset Engine.