【问题标题】:sprintf in opa rego policyopa rego 政策中的 sprintf
【发布时间】:2021-09-18 00:08:44
【问题描述】:

我在其中一项规则中有 sprintf,但似乎不起作用。这是非常基本的,但有人可以告诉我我做错了什么吗?在 https://play.openpolicyagent.org/ 上在线以及在 opa 版本 0.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"
  }
}

【问题讨论】:

    标签: opa rego


    【解决方案1】:

    这是我的错误,opa 还没有可变参数函数,所以 sprintf 的第二个参数必须是一个数组。在示例中:

    package cs
    
    deny[reason] {
        input.spec.resourceAttributes.namespace == "sveltos"
        reason := sprintf("OPA: User (%v) must belong to valid group", [input.spec.user])
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-18
      • 2021-12-07
      相关资源
      最近更新 更多