Dokumentace Domluvit pilot

Vytvoření vlastního pravidla přes API

Použijte Rulesets API k vytvoření vlastního pravidla prostřednictvím API na úrovni zóny.

Vlastní pravidla musíte nasadit do http_request_firewall_custom vstupní sada pravidel fáze.

Pokud používáte Terraform, přečtěte si Konfigurace vlastních pravidel WAF pomocí Terraformu.

Vytvoření vlastního pravidla

Chcete-li vytvořit vlastní pravidlo pro zónu, přidejte pravidlo do http_request_firewall_custom je vstupní sada pravidel dané fáze.

  1. Vyvolejte Získání vstupní sady pravidel zóny operaci k získání definice vstupní sady pravidel pro http_request_firewall_custom fáze. Budete potřebovat ID zóny pro tento úkol.

  2. Pokud vstupní sada pravidel již existuje (to znamená, pokud jste obdrželi 200 OK stavový kód a definici sady pravidel), poznamenejte si ID sady pravidel z odpovědi. Poté zavolejte Vytvoření pravidla sady pravidel zóny operaci pro přidání vlastního pravidla do stávající sady pravidel. Podrobnosti najdete v příkladech níže.

  3. Pokud vstupní sada pravidel neexistuje (to znamená, pokud jste obdrželi 404 Not Found stavový kód v kroku 1), vytvořte ji pomocí Vytvoření rulesetu zóny operaci. Vlastní pravidlo zahrňte do rules pole. Podívejte se na Vytvoření sady pravidel pro příklad.

Příklad A

Tento ukázkový požadavek přidává pravidlo do http_request_firewall_custom fáze vstupní sady pravidel pro zónu s ID $ZONE_ID. Vstupní sada pravidel již existuje, s ID $RULESET_ID.

Nové pravidlo, které bude posledním pravidlem v sadě pravidel, vyzve k ověření požadavky ze Spojeného království nebo Francie pomocí skóre útoku nižší než 20.

Vytvoření pravidla sady pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"description": "My custom rule",
		"expression": "(ip.src.country eq \"GB\" or ip.src.country eq \"FR\") and cf.waf.score lt 20",
		"action": "challenge"
	}'

Chcete-li určit konkrétní pozici nového pravidla, zahrňte position objekt v těle požadavku podle pokynů v Změna pořadí pravidla v sadě pravidel.

Pokyny k vytvoření vstupní sady pravidel a definování jejích pravidel pomocí jediného volání API najdete v Přidat pravidla do vstupních sad pravidel fáze.

Příklad B

Tento ukázkový požadavek přidává pravidlo do http_request_firewall_custom fáze vstupní sady pravidel pro zónu s ID $ZONE_ID. Vstupní sada pravidel již existuje, s ID $RULESET_ID.

Nové pravidlo, které bude posledním pravidlem v sadě pravidel, obsahuje definici vlastní odpověď pro blokované požadavky.

Vytvoření pravidla sady pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"description": "My custom rule with plain text response",
		"expression": "(ip.src.country eq \"GB\" or ip.src.country eq \"FR\") and cf.waf.score lt 20",
		"action": "block",
		"action_parameters": {
				"response": {
						"status_code": 403,
						"content": "Your request was blocked.",
						"content_type": "text/plain"
				}
		}
	}'

Chcete-li určit konkrétní pozici nového pravidla, zahrňte position objekt v těle požadavku podle pokynů v Změna pořadí pravidla v sadě pravidel.

Pokyny k vytvoření vstupní sady pravidel a definování jejích pravidel pomocí jediného volání API najdete v Přidat pravidla do vstupních sad pravidel fáze.


Další kroky

Použijte různé operace v Rulesets API, abyste pracovali s pravidlem, které jste právě vytvořili. Následující tabulka obsahuje seznam běžných úkolů:

Úkol Postup
Seznam všech pravidel v sadě pravidel

Použijte Získání vstupní sady pravidel zóny operaci s http_request_firewall_custom fáze a získáte tak seznam nakonfigurovaných vlastních pravidel a jejich ID.

Další informace najdete v tématu Zobrazit konkrétní sadu pravidel.

Aktualizace pravidla

Použijte Aktualizace pravidla v sadě pravidel zóny operace.

Budete muset zadat ID sady pravidel a ID pravidla. Chcete-li tato ID získat, můžete použít Získání vstupní sady pravidel zóny operaci s http_request_firewall_custom fáze.

Další informace najdete v tématu Aktualizace pravidla v sadě pravidel.

Smazat pravidlo

Použijte Odstranění pravidla sady pravidel zóny operace.

Budete muset zadat ID sady pravidel a ID pravidla. Chcete-li tato ID získat, můžete použít Získání vstupní sady pravidel zóny operaci s http_request_firewall_custom fáze.

Další informace najdete v tématu Odstraňte pravidlo v sadě pravidel.

Tyto operace popisuje dokumentace k Ruleset Engine. Ruleset Engine pohání různé produkty Cloudflare, včetně vlastních pravidel.

Další zdroje

Pokyny k nasazení vlastních pravidel na úrovni účtu pomocí API najdete v Vytvoření vlastní sady pravidel pomocí API.

Požádejte o pilot zdarma

Domluvit pilot