我在其中一条规则中使用了sprintf,但似乎不起作用。这是非常基本的,但是谁能告诉我我做错了什么?无论是在https://play.openpolicyagent.org/上在线还是离线,OPA0.32.0版似乎都不起作用。
package cs
deny[reason] {
input.spec.resourceAttributes.namespace == "sveltos"
reason := sprintf("OPA: User (%v) must belong to valid group", input.spec.user)
}输入:
{
"spec": {
"resourceAttributes": {
"namespace": "sveltos",
"resource": "pods"
},
"user": "jane"
}
}发布于 2021-09-19 17:49:29
这是我的错误,opa还没有varargs函数,所以sprintf的第二个参数必须是一个数组。在示例中:
package cs
deny[reason] {
input.spec.resourceAttributes.namespace == "sveltos"
reason := sprintf("OPA: User (%v) must belong to valid group", [input.spec.user])
}https://stackoverflow.com/questions/69230579
复制相似问题