INTEGRITY Dokumentace

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:

Parametry

A POST pro vytvoření sady pravidel podporuje v těle požadavku tyto parametry:

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é:
Vytvořte account ruleset
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é:
Vytvoření rulesetu zóny
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é:
Vytvořte account ruleset
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": []
}