Документация Запланировать пилот

Настройка протоколирования полезной нагрузки через API

Используйте Rulesets API чтобы настроить журналирование полезной нагрузки для управляемого набора правил через API.

Настройка и включение протоколирования полезной нагрузки

  1. Используйте Получить входной набор правил зоны операцию для получения следующих ID:

    • ID ruleset точки входа из http_request_firewall_managed фаза.
    • ID execute правило, разворачивающее управляемый набор правил WAF, для которого требуется настроить логирование полезной нагрузки.
  2. Используйте Обновление правила в наборе правил зоны операцию для обновления правила, найденного на предыдущем шаге.

    Включите 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.

  1. Вызовите Получить входной набор правил зоны операцию для получения правил, настроенных в данный момент во входном наборе правил 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": []
    }
  2. Сохраните следующие ID для следующего шага:

    • ID входного набора правил: 060013b1eeb14c93b0dcd896537e0d2c
    • ID execute правило, разворачивающее Cloudflare Managed Ruleset: 1bdb49371c1f46958fc8b985efcb79e7

    Чтобы найти нужное правило в rules массиве найдите execute правило, содержащее ID Cloudflare Managed Ruleset () в action_parameters > id.

  3. Вызовите Обновление правила в наборе правил зоны операцию для обновления конфигурации найденного правила. Теперь правило будет включать конфигурацию журналирования полезных данных (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.


Отключение протоколирования полезной нагрузки

Чтобы отключить журналирование полезной нагрузки для управляемого набора правил:

  1. Используйте Обновление правила в наборе правил зоны операцию для обновления правила, развёртывающего управляемый набор правил (правило с "action": "execute").

  2. Измените определение правила так, чтобы оно не содержало 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 обновляемого правила см. в Настройка и включение протоколирования полезной нагрузки.

Запросите бесплатный пилот

Запланировать пилот