← Cloudflare Ruleset Engine / ruleset-engine / rulesets-api
Обновление или развертывание набора правил
Чтобы обновить набор правил, используйте одну из следующих конечных точек API:
- Обновление account ruleset
PUT /accounts/{account_id}/rulesets/{ruleset_id} - Обновление входного набора правил аккаунта
PUT /accounts/{account_id}/rulesets/phases/{phase_name}/entrypoint - Обновление набора правил зоны
PUT /zones/{zone_id}/rulesets/{ruleset_id} - Обновление набора правил точки входа зоны
PUT /zones/{zone_id}/rulesets/phases/{phase_name}/entrypoint
При обновлении набора правил можно изменить:
- Основные свойства набора правил (в настоящее время только описание)
- Список правил в наборе правил
Имя набора правил и его тип изменить нельзя. Не включайте эти поля в data поле вашего PUT запрос.
Чтобы развернуть набор правил, добавьте правило с "action": "execute" в список правил ruleset точки входа. См. Развёртывание набора правил для примера.
Пример: настройка правил набора правил
Следующие PUT запрос определяет список правил набора правил, сводя его к одному правилу. В каждом запросе необходимо указывать все правила, которые должны быть связаны с набором правил.
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется: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/$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-токена
Хотя бы одно из следующих права доступа токена требуется: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/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-токена
Хотя бы одно из следующих права доступа токена требуется: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/$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": []
}