问题标签 [rego]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
157 浏览

kubernetes - 如何通过开放策略拒绝在 openshift 中查看/获取操作?

我们要禁用oc get/describeforsecrets以防止令牌登录

当前政策禁止创建、更新、删除但不禁止查看机密

资源对象中的数据只是:

{\"kind\": {\"group\": \"\", \"kind\": \"Secret\", \"version\": \"v1\"}, \"name\": \"s5-token-n6v6q\", \"namespace\": \"demo\", \"operation\": \"DELETE\", \"resource\": {\"group\": \"\ ",\"资源\":\"秘密\",\"版本\":\"v1\"},\"uid\":\"748cdab2-1c1d-11ea-8b11-080027f8814d\",\"用户信息\": {\"groups\": [\"system:cluster-admins\", \"system:masters\", \"system:authenticated\"], \"username\": \"system:admin\ "}

https://github.com/raffaelespazzoli/openshift-opa/blob/master/examples/authorization-webhooks/unreadable_secrets.rego中的示例使用了resource.spec对象,但我认为它在我的input/AdmissionReview对象中不可用?

我在用

  • 迷你换档 1.24
  • openshift v3.9.0+2e78773-56
  • Kubernetes v1.9.1+a0ce1bc657
  • etcd 3.2.16
0 投票
1 回答
1207 浏览

open-policy-agent - 如何在 Rego 中发出 HTTP GET 请求

我想向 rego 中的 url 发出获取请求。但它引发了无效参数:rego 模块中不允许的内置函数调用:http.send错误这是我的代码。

我做错了什么?

0 投票
2 回答
1584 浏览

open-policy-agent - 使用 rego 比较输入列表中的前后值

当我运行以下命令时,我可以比较参数 instance_class 的值并计算差异数:

但是,我希望能够使用相同的代码块来比较我的列表 my_params 中包含的不同参数值。我尝试了以下方法,但这不起作用。

0 投票
1 回答
297 浏览

open-policy-agent - 怎么办 || 雷戈中的“b”

我们验证有和没有命名空间的对象,我总是想打印当前的命名空间是什么......但是当没有设置命名空间时回退到“”或其他一些默认值。

使用 naiveinput.review.object.metadata.namespace直接违反了规则,所以我求助于

它打印一个数组,有点难看,但它可以工作......有更好的解决方案吗?

0 投票
1 回答
509 浏览

open-policy-agent - Rego:如何指定不具有多个条件中的任何一个

如何验证 Rego for OPA 中是否存在两个单独的密钥?目前,我正在使用这样的not运算符:

但是,这只会拒绝没有livenessProbe和的容器readinessProbe。如何指定拒绝缺少两个键中的任何一个的容器

0 投票
1 回答
1857 浏览

testing - Rego测试:如何测试“不否认”?

我正在探索使用opa test以下简单规则开始测试我的 Rego 策略:

我能够针对被拒绝的情况成功地对此进行测试:

但是,当我尝试针对应该允许的情况进行测试时,如下所示:

我收到一个错误:

test_allowed_example除了知道这是失败的测试外,我无法真正解析此错误消息。

如何正确测试允许输入(不拒绝)的用例?

0 投票
1 回答
164 浏览

open-policy-agent - OPA Rego 函数语句评估顺序

输入= {“部门”:“英语”,“位置”:“伦敦”}

上面的代码只匹配hello。为什么即使条件相同,世界也不匹配,但顺序颠倒了?

0 投票
2 回答
179 浏览

open-policy-agent - 映射数组中的项目

希望这是一个简单的好方法,但我就是不知道该怎么做。

我想用 rego 将数组中的项目映射到更干净的版本。例如从下面的数据

我想把数据变成

我认为我最接近的两个是

0 投票
1 回答
422 浏览

open-policy-agent - Rego object.get 与多级键

有没有办法使用 object.get 与多级键..?

我的输入如下所示: { "pipelineParameters" : { "k8" : { "NODES" : "1" }, "ec2": { "NODES" : "0" } }

我的数据看起来像 { "key": "pipelineParameters.k8.NODES" }

如何根据多级键从输入中获取价值

示例代码

https://play.openpolicyagent.org/p/iR15XnMctP

0 投票
1 回答
255 浏览

open-policy-agent - opa rego 结果集表达式中的“位置”键是什么?我可以在输入 json 中获取导致违反政策的位置吗?

我正在使用 go rego 包,编组时的 rego.ResultSet 给出了这个:

我打算在输入 JSON 中输出导致失败的键的位置,以便我可以在构建错误的上下文中使用它 我们之前使用 JSON 模式来验证 JSON,它用于从输入中返回键可以映射错误。https://www.jsonschemavalidator.net/

我想因为 rego 可以支持更复杂的决策,其中不止一个键将负责产生最终结果,这可能是它不会指向失败上下文输入中的位置的原因。除非我错过了什么?