小编Fit*_*lry的帖子

开放策略代理满足所有数组项的条件

试图解决这个问题一段时间 - 我有一个包含数组的 JSON 输入,请说如下:

{
    "array" : [
        {"foo": "bar"},
        {"foo": "buzz"},
        {"misbehaving": "object"}
    ]
}
Run Code Online (Sandbox Code Playgroud)

我的目标是验证数组中的所有对象是否满足具有名为 foo 的字段的条件(实际用例是确保云部署中的所有资源都有标签)。我的问题是标准 rego 表达式被评估为“至少”而不是“全部”,这意味着表达式如下:

all_have_foo_field {
    input.array.foo
}
Run Code Online (Sandbox Code Playgroud)

总是返回 true,即使某些对象不满足这一点。我已经看过这个,但是评估一个正则表达式返回true或者false当我的策略检查字段是否存在时,这意味着如果它不存在,我会收到一个“var_is_unsafe”错误。

有任何想法吗?

open-policy-agent rego

3
推荐指数
1
解决办法
1468
查看次数

标签 统计

open-policy-agent ×1

rego ×1