使用 GreaterThan / LessThan 评估 Istio 规则匹配
Evaluating Istio rule match using GreaterThan / LessThan
看看 Istio 的功能 Rule.match, .. https://istio.io/docs/reference/config/policy-and-telemetry/istio.policy.v1beta1/#Rule ,如何在 GreaterThan / LessThan 上进行匹配,而不是仅仅进行存在性/相等性检查
例如。我怎样才能实现这样的目标 (header value > 24)
spec:
match: match((request.headers["some-header"] | 24) >"24")
由于属性类型不匹配,问题中提到的规则将不起作用。
但是,可以使用 通用表达式语言 (CEL)。
您可以使用 policy.istio.io/lang
注释(将其设置为 CEL
)在 istio 中启用 CEL。
然后通过Type Values from the List of Standard Definitions我们可以使用创建函数将值解析成不同的类型。
例如:int()
得到一个 string
并产生一个 int
我们可以
然后与 _>_
(int, int) -> bool
.
比较
看看 Istio 的功能 Rule.match, .. https://istio.io/docs/reference/config/policy-and-telemetry/istio.policy.v1beta1/#Rule ,如何在 GreaterThan / LessThan 上进行匹配,而不是仅仅进行存在性/相等性检查
例如。我怎样才能实现这样的目标 (header value > 24)
spec:
match: match((request.headers["some-header"] | 24) >"24")
由于属性类型不匹配,问题中提到的规则将不起作用。
但是,可以使用 通用表达式语言 (CEL)。
您可以使用 policy.istio.io/lang
注释(将其设置为 CEL
)在 istio 中启用 CEL。
然后通过Type Values from the List of Standard Definitions我们可以使用创建函数将值解析成不同的类型。
例如:int()
得到一个 string
并产生一个 int
我们可以
然后与 _>_
(int, int) -> bool
.