← Cloudflare Ruleset Engine / ruleset-engine / managed-rulesets
Vytvoření výjimky
Použijte výjimky a přeskočte spuštění spravované sady pravidel nebo některých jejích pravidel.
Konfigurace výjimky zahrnuje výraz , které definuje podmínky přeskočení a pravidla nebo spravované sady pravidel, jež se za těchto podmínek přeskočí.
Pokud používáte Terraform, přečtěte si Nastavte výjimky v dokumentaci Terraform.
Pokud používáte Cloudflare dashboard, přečtěte si Přidat výjimku v dashboardu.
Typy výjimek
Výjimka může mít jedno z následujících chování (od nejvyšší priority po nejnižší):
- Přeskočit všechna zbývající pravidla ve vstupní sadě pravidel
- Přeskočit jednu nebo více spravovaných sad pravidel
- Přeskočit jedno nebo více pravidel spravovaných sad pravidel
Výjimky definujete v daném kontextu, na úrovni zóny nebo na úrovni účtu, a platí pouze pro tento kontext. Pokud například definujete výjimku, která přeskočí všechna zbývající pravidla na úrovni účtu, pravidla definovaná ve vstupní sadě pravidel na úrovni zóny se přesto vyhodnotí.
Pokud výrazům odpovídá více výjimek, Cloudflare zohlední výjimku s nejvyšší prioritou.
Výjimky se vztahují pouze na pravidla spouštějící spravovanou sadu pravidel, která jsou uvedena za nimi. Pokud přidáte výjimku na konec seznamu pravidel vstupní sady pravidel, nic se nepřeskočí.
Přeskočit všechna zbývající pravidla
Chcete-li přeskočit všechna zbývající pravidla v vstupní sada pravidel, vytvořte pravidlo s skip akci a zahrnout "ruleset": "current" v action_parameters objekt.
Příklad definice pravidla:
{
"expression": "<RULE_EXPRESSION>",
"action": "skip",
"action_parameters": {
"ruleset": "current"
}
}Přeskočení všech zbývajících pravidel ovlivní pouze pravidla v aktuálním kontextu (účet nebo zóna). Pokud například přidáte pravidlo s skip akce do vstupní sady pravidel fáze na úrovni účtu nemá žádný vliv na pravidla definovaná ve vstupní sadě pravidel fáze na úrovni zóny: tato pravidla na úrovni zóny budou i tak vyhodnocena.
Úplný příklad najdete v Dokumentace WAF.
Přeskočit jednu nebo více spravovaných sad pravidel
Chcete-li přeskočit jeden nebo více spravovaných rulesetů, vytvořte pravidlo s skip akci obsahující rulesets v action_parameters objekt. rulesets pole musí obsahovat seznam ID spravovaných sad pravidel, které chcete vynechat.
Příklad definice pravidla:
{
"expression": "<RULE_EXPRESSION>",
"action": "skip",
"action_parameters": {
"rulesets": ["<MANAGED_RULESET_1_ID>", "<MANAGED_RULESET_2_ID>"]
}
}Úplný příklad najdete v Dokumentace WAF.
Přeskočit jedno nebo více pravidel spravovaných sad pravidel
Chcete-li přeskočit jedno nebo více pravidel spravovaných rulesetů, vytvořte pravidlo s skip akci obsahující rules objekt v action_parameters objekt. rules objekt musí jako klíče obsahovat jedno nebo více ID spravovaných sad pravidel a jako hodnotu každého klíče seznam pravidel, která se mají v daných spravovaných sadách pravidel přeskočit.
Příklad definice pravidla, které přeskakuje pravidla A a B spravované sady pravidel 1, a pravidlo X spravované sady pravidel 2:
{
"expression": "<RULE_EXPRESSION>",
"action": "skip",
"action_parameters": {
"rules": {
"<MANAGED_RULESET_1_ID>": ["<RULE_A_ID>", "<RULE_B_ID>"],
"<MANAGED_RULESET_2_ID>": ["<RULE_X_ID>"]
}
}
}Pravidla v rules objekt musí patřit ke stanoveným spravovaným sadám pravidel, jinak dojde k chybě.
Úplný příklad najdete v Dokumentace WAF.
Další poznámky
- Výjimky mají přednost před přepisy.
- Pokud definujete výjimku, která přeskočí všechna zbývající pravidla, výrazy těchto pravidel se nevyhodnocují.
- Pokud definujete výjimku, která přeskočí pravidlo spravovaného rulesetu, vyhodnotí se výraz pravidla spouštějícího daný spravovaný ruleset a provedou se všechna jeho pravidla kromě tohoto konkrétního pravidla, které se obejde.