INTEGRITY Документация

Обновление или развертывание набора правил

Чтобы обновить набор правил, используйте одну из следующих конечных точек API:

При обновлении набора правил можно изменить:

Имя набора правил и его тип изменить нельзя. Не включайте эти поля в data поле вашего PUT запрос.

Чтобы развернуть набор правил, добавьте правило с "action": "execute" в список правил ruleset точки входа. См. Развёртывание набора правил для примера.

Пример: настройка правил набора правил

Следующие PUT запрос определяет список правил набора правил, сводя его к одному правилу. В каждом запросе необходимо указывать все правила, которые должны быть связаны с набором правил.

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Обновление набора правил зоны
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>"
						},
						"expression": "true"
				}
		]
	}'
{
	"result": {
		"id": "<RULESET_ID>",
		"name": "Zone-level phase entry point ruleset",
		"description": "This ruleset executes a managed ruleset.",
		"kind": "zone",
		"version": "4",
		"rules": [
			{
				"id": "<RULE_ID>",
				"version": "2",
				"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": []
}

Пример: развёртывание набора правил

Чтобы развернуть набор правил, создайте правило с "action": "execute" которое выполняет набор правил, и добавьте ID набора правил в action_parameters поле в id параметр.

Следующие PUT запрос разворачивает управляемый набор правил в http_request_firewall_managed фазе зоны ($ZONE_ID).

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Обновление набора правил точки входа зоны
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>"
						},
						"expression": "true",
						"description": "Execute Cloudflare Managed Ruleset on my phase entry point ruleset"
				}
		]
	}'
{
	"result": {
		"id": "<RULESET_ID>",
		"name": "Zone-level phase entry point ruleset",
		"description": "",
		"kind": "zone",
		"version": "4",
		"rules": [
			{
				"id": "<RULE_ID_1>",
				"version": "1",
				"action": "execute",
				"action_parameters": {
					"id": "<MANAGED_RULESET_ID>",
					"version": "latest"
				},
				"expression": "true",
				"description": "Execute Cloudflare Managed Ruleset on my phase entry point ruleset",
				"last_updated": "2025-03-21T11:02:08.769537Z",
				"ref": "<RULE_REF_1>",
				"enabled": true
			}
		],
		"last_updated": "2025-03-21T11:02:08.769537Z",
		"phase": "http_request_firewall_managed"
	},
	"success": true,
	"errors": [],
	"messages": []
}

Дополнительные сведения о развёртывании наборов правил см. в Развёртывание наборов правил.

Пример: обновление описания набора правил

Следующие PUT запрос обновляет описание существующего набора правил или точки входа фазы.

В ответе будет возвращено полное определение набора правил, включая все правила.

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Обновление набора правил зоны
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"description": "My updated phase entry point ruleset"
	}'
{
	"result": {
		"id": "<RULESET_ID>",
		"name": "Zone entry point",
		"description": "My updated phase entry point ruleset",
		"kind": "zone",
		"version": "4",
		"rules": [
			// (...)
		],
		"last_updated": "2025-03-30T10:49:11.006109Z",
		"phase": "http_request_firewall_managed"
	},
	"success": true,
	"errors": [],
	"messages": []
}