← Документация WAF / managed-rules / payload-logging
Настройка протоколирования полезной нагрузки через API
Используйте Rulesets API чтобы настроить журналирование полезной нагрузки для управляемого набора правил через API.
Настройка и включение протоколирования полезной нагрузки
-
Используйте Получить входной набор правил зоны операцию для получения следующих ID:
- ID ruleset точки входа из
http_request_firewall_managedфаза. - ID
executeправило, разворачивающее управляемый набор правил WAF, для которого требуется настроить логирование полезной нагрузки.
- ID ruleset точки входа из
-
Используйте Обновление правила в наборе правил зоны операцию для обновления правила, найденного на предыдущем шаге.
Включите
matched_dataобъект в правилеaction_parametersобъект для настройки журналирования полезных данных.matched_dataобъект имеет следующую структуру:"action_parameters": { // ... "matched_data": { "public_key": "<PUBLIC_KEY_VALUE>" } }Замените
<PUBLIC_KEY_VALUE>с открытым ключом, который вы хотите использовать для логирования полезной нагрузки. Вы можете сгенерировать открытый ключ в командной строке или в панели управления Cloudflare.
Пример
В этом примере настраивается логирование payload для Cloudflare Managed Ruleset, который уже развернут для зоны с ID $ZONE_ID.
-
Вызовите Получить входной набор правил зоны операцию для получения правил, настроенных в данный момент во входном наборе правил
http_request_firewall_managedфазы.Получить входной набор правил зоныcurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{ "result": { "id": "060013b1eeb14c93b0dcd896537e0d2c", // entry point ruleset ID "name": "default", "description": "", "source": "firewall_managed", "kind": "zone", "version": "3", "rules": [ // (...) { "id": "1bdb49371c1f46958fc8b985efcb79e7", // `execute` rule ID "version": "1", "action": "execute", "expression": "true", "last_updated": "2024-01-20T14:21:28.643979Z", "ref": "1bdb49371c1f46958fc8b985efcb79e7", "enabled": true, "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee", // "Cloudflare Managed Ruleset" ID "version": "latest" } } // (...) ], "last_updated": "2024-01-20T14:29:00.190643Z", "phase": "http_request_firewall_managed" }, "success": true, "errors": [], "messages": [] } -
Сохраните следующие ID для следующего шага:
- ID входного набора правил:
060013b1eeb14c93b0dcd896537e0d2c - ID
executeправило, разворачивающее Cloudflare Managed Ruleset:1bdb49371c1f46958fc8b985efcb79e7
Чтобы найти нужное правило в
rulesмассиве найдитеexecuteправило, содержащее ID Cloudflare Managed Ruleset () в action_parameters>id. - ID входного набора правил:
-
Вызовите Обновление правила в наборе правил зоны операцию для обновления конфигурации найденного правила. Теперь правило будет включать конфигурацию журналирования полезных данных (
matched_dataобъект).Обновление правила в наборе правил зоныcurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/060013b1eeb14c93b0dcd896537e0d2c/rules/1bdb49371c1f46958fc8b985efcb79e7" \ --request PATCH \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee", "matched_data": { "public_key": "Ycig/Zr/pZmklmFUN99nr+taURlYItL91g+NcHGYpB8=" } }, "expression": "true" }'После обновления правила ответ будет включать полный набор правил.
Дополнительную информацию о развёртывании управляемых наборов правил через API см. в Развёртывание управляемого набора правил в документации по Ruleset Engine.
Отключение протоколирования полезной нагрузки
Чтобы отключить журналирование полезной нагрузки для управляемого набора правил:
-
Используйте Обновление правила в наборе правил зоны операцию для обновления правила, развёртывающего управляемый набор правил (правило с
"action": "execute"). -
Измените определение правила так, чтобы оно не содержало
matched_dataобъект вaction_parameters.
Например, следующий PATCH запрос обновляет правило с ID $RULE_ID развёртывании Cloudflare Managed Ruleset чтобы отключить логирование полезной нагрузки:
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules/$RULE_ID" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"action": "execute",
"action_parameters": {
"id": "efb7b8c949ac4650a09736fc376e9aee"
},
"expression": "true"
}'Сведения о получении ID входного набора правил и ID обновляемого правила см. в Настройка и включение протоколирования полезной нагрузки.