← Cloudflare Ruleset Engine / ruleset-engine / rulesets-api
Vytvořte sadu pravidel
Vytvoří sadu pravidel daného typu ve zadané fázi. Umožňuje vytvářet sady pravidel vstupního bodu fáze.
Použijte jeden z následujících endpointů API:
- Vytvořte account ruleset
POST /accounts/{account_id}/rulesets - Vytvoření rulesetu zóny
POST /zones/{zone_id}/rulesets
Parametry
A POST pro vytvoření sady pravidel podporuje v těle požadavku tyto parametry:
nameString- Název rulesetu srozumitelný pro člověka.
- Název je neměnný. Po celou dobu existence sady pravidel jej nelze změnit.
descriptionStringVolitelné- Volitelný popis sady pravidel.
- Popis sady pravidel můžete v průběhu jejího životního cyklu změnit.
kindString- Druh sady pravidel, který objekt JSON reprezentuje.
- Povolené hodnoty:
custom: Vytvoří vlastní rulesetroot: Vytvoří fázi vstupní sada pravidel na úrovni účtuzone: Vytvoří vstupní ruleset fáze na úrovni zóny
phaseString- Název fáze kde bude sada pravidel vytvořena.
- Zkontrolujte seznam fází nebo dokumentaci ke konkrétnímu produktu Cloudflare, kde najdete další informace o fázích, ve kterých můžete pro daný produkt vytvářet sady pravidel.
rulesArray<Rule>Volitelné- Seznam pravidla k zahrnutí do sady pravidel.
Další podrobnosti o těchto parametrech najdete v Objekty JSON.
Příklad - Vytvoření vlastní sady pravidel
Následující POST vytvoří vlastní sadu pravidel ve http_request_firewall_custom fázi na úrovni účtu obsahující jedno pravidlo.
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Mass URL Redirects WriteMagic Firewall WriteL4 DDoS Managed Ruleset WriteTransform Rules WriteSelect Configuration WriteAccount WAF WriteAccount Rulesets WriteLogs Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Example custom ruleset",
"kind": "custom",
"description": "Example ruleset description",
"rules": [
{
"action": "log",
"expression": "cf.zone.name eq \"example.com\""
}
],
"phase": "http_request_firewall_custom"
}'{
"result": {
"id": "<RULESET_ID>",
"name": "Example custom ruleset",
"description": "Example ruleset description",
"kind": "custom",
"version": "1",
"rules": [
{
"id": "<RULE_ID>",
"version": "1",
"action": "log",
"expression": "cf.zone.name eq \"example.com\"",
"last_updated": "2025-03-17T15:42:37.917815Z"
}
],
"last_updated": "2025-03-17T15:42:37.917815Z",
"phase": "http_request_firewall_custom"
},
"success": true,
"errors": [],
"messages": []
}Příklad - Vytvoření vstupní sady pravidel fáze na úrovni zóny
Následující POST vytvoří vstupní sadu pravidel fáze na úrovni zóny ve http_request_firewall_managed fázi s jedním pravidlem, které spouští spravovanou sadu pravidel.
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Response Compression WriteConfig Settings WriteDynamic URL Redirects WriteCache Settings WriteCustom Errors WriteOrigin WriteManaged headers WriteZone Transform Rules WriteMass URL Redirects WriteMagic Firewall WriteL4 DDoS Managed Ruleset WriteHTTP DDoS Managed Ruleset WriteSanitize WriteTransform Rules WriteSelect Configuration WriteBot Management WriteZone WAF WriteAccount WAF WriteAccount Rulesets WriteLogs WriteLogs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Zone-level phase entry point",
"kind": "zone",
"description": "This ruleset executes a managed ruleset.",
"rules": [
{
"action": "execute",
"expression": "true",
"action_parameters": {
"id": "<MANAGED_RULESET_ID>"
}
}
],
"phase": "http_request_firewall_managed"
}'{
"result": {
"id": "<RULESET_ID>",
"name": "Zone-level phase entry point",
"description": "This ruleset executes a managed ruleset.",
"kind": "zone",
"version": "1",
"rules": [
{
"id": "<RULE_ID>",
"version": "1",
"action": "execute",
"expression": "true",
"action_parameters": {
"id": "<MANAGED_RULESET_ID>"
},
"last_updated": "2025-03-17T15:42:37.917815Z"
}
],
"last_updated": "2025-03-17T15:42:37.917815Z",
"phase": "http_request_firewall_managed"
},
"success": true,
"errors": [],
"messages": []
}Příklad - Vytvoření vstupní sady pravidel fáze na úrovni účtu
Následující POST vytvoří vstupní sadu pravidel fáze na úrovni účtu pro http_ratelimit fázi s jedním pravidlem, které spouští sadu pravidel Rate Limiting pro všechny zóny Enterprise v účtu.
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Mass URL Redirects WriteMagic Firewall WriteL4 DDoS Managed Ruleset WriteTransform Rules WriteSelect Configuration WriteAccount WAF WriteAccount Rulesets WriteLogs Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Account-level phase entry point",
"kind": "root",
"description": "This ruleset executes a rate limiting ruleset.",
"rules": [
{
"action": "execute",
"expression": "(cf.zone.plan eq \"ENT\")",
"action_parameters": {
"id": "<RATE_LIMITING_RULESET_ID>"
}
}
],
"phase": "http_ratelimit"
}'{
"result": {
"id": "<RULESET_ID>",
"name": "Account-level phase entry point",
"description": "This ruleset executes a rate limiting ruleset.",
"kind": "root",
"version": "1",
"rules": [
{
"id": "<RULE_ID>",
"version": "1",
"action": "execute",
"expression": "(cf.zone.plan eq \"ENT\")",
"action_parameters": {
"id": "<RATE_LIMITING_RULESET_ID>"
},
"last_updated": "2024-09-17T15:42:37.917815Z"
}
],
"last_updated": "2024-09-17T15:42:37.917815Z",
"phase": "http_ratelimit"
},
"success": true,
"errors": [],
"messages": []
}