← Правила Cloudflare / rules / configuration-rules
Создайте правило конфигурации через API
Используйте Rulesets API для создания configuration rules через API.
Базовые настройки правила
При создании правила конфигурации через API убедитесь, что вы:
- Задайте для действия правила значение
set_config. - Определите параметры в
action_parametersполе в соответствии с настройки которые вы хотите переопределить для соответствующих запросов. - Разверните правило в
http_config_settingsфаза на уровне зоны.
Процедура
Чтобы создать правило конфигурации для указанной зоны через API, выполните следующие действия:
-
Используйте Список наборов правил зоны операцию, чтобы проверить, существует ли уже набор правил для
http_config_settingsфаза на уровне зоны. -
Если набор правил для этой фазы не существует, создайте его с помощью Создание набора правил зоны операцию. В свойствах нового набора правил задайте следующие значения:
- тип:
zone - фаза:
http_config_settings
- тип:
-
Используйте Обновление набора правил зоны операцию, чтобы добавить правило конфигурации в список правил набора правил. Либо включите правило в Создание набора правил зоны запрос, упомянутый на предыдущем шаге.
Убедитесь, что ваш API токен имеет необходимые разрешения для выполнения операций API.
Примеры запросов
Пример: добавление правила, включающего Email Obfuscation и Browser Integrity Check
Следующий пример задаёт правила существующего ruleset фазы ({ruleset_id}) в единое конфигурационное правило, включающее Email Obfuscation и Browser Integrity Check для страницы контактов, с использованием Обновление набора правил зоны операцию:
Необходимые разрешения 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": [
{
"ref": "enable_email_obfuscation_bic",
"expression": "starts_with(http.request.uri.path, \"/contact-us/\")",
"description": "Obfuscates email addresses and enables BIC in contacts page",
"action": "set_config",
"action_parameters": {
"email_obfuscation": true,
"bic": true
}
}
]
}'Используйте ref поле, чтобы идентификаторы правил оставались стабильными при обновлениях в Terraform. Добавление этого поля не позволяет Terraform пересоздавать правило при изменениях. Дополнительную информацию см. в Устранение неполадок в документации Terraform.
Пример: добавление правила, включающего режим Under Attack для раздела администрирования
Следующий пример задаёт правила существующего ruleset фазы ({ruleset_id}) в единое конфигурационное правило, включающее режим Under Attack Mode для раздела администрирования, с использованием Обновление набора правил зоны операцию:
Необходимые разрешения 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": [
{
"ref": "enable_under_attack_in_admin",
"expression": "http.host eq \"admin.example.com\"",
"description": "Turn on Under Attack mode for admin area",
"action": "set_config",
"action_parameters": {
"security_level": "under_attack"
}
}
]
}'Используйте ref поле, чтобы идентификаторы правил оставались стабильными при обновлениях в Terraform. Добавление этого поля не позволяет Terraform пересоздавать правило при изменениях. Дополнительную информацию см. в Устранение неполадок в документации Terraform.
Необходимые разрешения API-токена
Токен API, используемый в запросах API для управления configuration rules, должен иметь как минимум следующее разрешение:
- Zone > Config Rules > Изменить