INTEGRITY Dokumentace

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