Rego:如何指定没有多个条件
Rego: how to specify not having either of multiple conditions
如何验证 Rego for OPA 中是否存在两个单独的密钥?目前,我正在使用 not
运算符,如下所示:
deny["Containers must specify readiness and liveness probes"] {
not container.readinessProbe
not container.livenessProbe
}
但是,这只会拒绝没有 livenessProbe
和 readinessProbe
的容器。如何指定拒绝缺少两个键中的 的容器?
对于这种情况,我认为为每个设置一个拒绝规则是有意义的:
deny["Containers must specify readiness probes"] {
not container.readinessProbe
}
deny["Containers must specify liveness probes"] {
not container.livenessProbe
}
对于 Rego 策略,规则是通过“或”运算结合在一起的,而规则主体语句也是通过“与”运算的。因此,如果您尝试表达 OR 条件,通常会针对每种情况寻找规则。
如何验证 Rego for OPA 中是否存在两个单独的密钥?目前,我正在使用 not
运算符,如下所示:
deny["Containers must specify readiness and liveness probes"] {
not container.readinessProbe
not container.livenessProbe
}
但是,这只会拒绝没有 livenessProbe
和 readinessProbe
的容器。如何指定拒绝缺少两个键中的 的容器?
对于这种情况,我认为为每个设置一个拒绝规则是有意义的:
deny["Containers must specify readiness probes"] {
not container.readinessProbe
}
deny["Containers must specify liveness probes"] {
not container.livenessProbe
}
对于 Rego 策略,规则是通过“或”运算结合在一起的,而规则主体语句也是通过“与”运算的。因此,如果您尝试表达 OR 条件,通常会针对每种情况寻找规则。