← Cloudflare One / cloudflare-one / traffic-policies
Výrazy zásad Gateway
Zásady Gateway používají k porovnávání provozu se selektory (kritérii) výrazový jazyk založený na wirefilteru. Tato syntaxe je podobná, ale liší se od Rules language používaná WAF, Rules a dalšími produkty Cloudflare. Viz Gateway oproti Ruleset Engine pro podrobnosti o rozdílech.
Syntaxe výrazu
Výrazy Gateway se řídí tímto vzorem:
<field> <operator> <value>Například:
dns.fqdn == "example.com"
http.request.host == "api.example.com"
identity.email == "[email protected]"Operátory
Gateway podporuje následující operátory:
| Operátor | Název | Příklad |
|---|---|---|
== |
Rovná se | dns.fqdn == "example.com" |
!= |
Nerovná se | http.request.host != "blocked.com" |
in |
Hodnota je v sadě | net.dst.port in {80 443} |
matches |
Odpovídá regulárnímu výrazu | http.request.host matches ".*\\.example\\.com" |
> |
Větší než | http.upload.file.size > 10 |
>= |
Větší nebo rovno | http.download.file.size >= 100 |
< |
Less than | http.upload.file.size < 50 |
<= |
Less than or equal to | http.download.file.size <= 200 |
Logické operátory
Zkombinujte více podmínek pomocí logických operátorů:
| Operátor | Název | Příklad |
|---|---|---|
and |
Logický AND | dns.fqdn == "example.com" and identity.email == "[email protected]" |
or |
Logický OR | net.dst.port == 80 or net.dst.port == 443 |
not |
Logický NOT | not(identity.email == "[email protected]") |
Zpracování polí
Některá pole Gateway vracejí arrays (více hodnot). Použijte any() funkci, která vyhodnotí shodu, pokud podmínku splňuje libovolný prvek pole:
any(http.request.uri.content_category[*] in {17 85 102})any(identity.groups[*].name in {"Engineering" "Security"})any(http.request.domains[*] == "example.com") [*] notace znamená, že funkce má vyhodnotit všechny prvky v poli.
Zpracování seznamu
Můžete odkázat na seznamy ve výrazech pomocí UUID seznamu:
http.request.host in $<LIST_UUID>any(http.request.domains[*] in $<LIST_UUID>)Chcete-li najít UUID seznamu, přejděte do My Team > Seznamy v Zero Trust a vyberte seznam. UUID se zobrazí v adrese URL prohlížeče.
Časté vzory polí
Každý typ zásady Gateway má vlastní sadu dostupných polí. Následující tabulka uvádí předpony polí používané u jednotlivých typů zásad:
| Typ zásady | Předpona pole | Příklady polí |
|---|---|---|
| DNS | dns. |
dns.fqdn, dns.content_category, dns.src_ip |
| HTTP | http. |
http.request.host, http.request.uri, http.request.domains |
| Síť | net. |
net.dst.ip, net.dst.port, net.src.ip |
| Identita | identity. |
identity.email, identity.groups, identity.name |
| Stav zařízení | device_posture. |
device_posture.checks.passed |
Úplný seznam dostupných polí pro jednotlivé typy zásad najdete v dokumentaci k selektorům, na kterou odkazuje odkaz v horní části této stránky.
Příklady výrazů
Blokovat doménu v zásadě DNS
dns.fqdn == "example.com"Blokovat více kategorií obsahu v zásadě HTTP
any(http.request.uri.content_category[*] in {17 85 102})Povolit provoz z konkrétní skupiny uživatelů
any(identity.groups[*].name in {"Engineering"})Blokovat provoz do cílového rozsahu IP adres v síťové zásadě
net.dst.ip in {10.0.0.0/8}Kombinace podmínek identity a provozu
http.request.host == "internal.example.com" and identity.email matches ".*@company.com"Gateway oproti Ruleset Engine
Následující tabulka shrnuje klíčové rozdíly mezi jazykem Rules language](/ruleset-engine/rules-language/) (podporovaným Ruleset Engine) a výrazy zásad Gateway:
| Ruleset Engine | Gateway | |
|---|---|---|
| Produkty | WAF, Transform Rules, Cache Rules, Configuration Rules | zásady DNS, HTTP, Network, Egress, Resolver |
| Příklady polí | http.request.uri.path, cf.bot_management.score, ip.src |
dns.fqdn, http.request.host, identity.email |
| Pole identity | Není k dispozici | K dispozici (například identity.email, identity.groups) |
| Pole DNS | Není k dispozici | K dispozici (například dns.fqdn, dns.content_category) |
| Dokumentace | Rules language | Zásady provozu |