问题标签 [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.
kubernetes - 如何通过开放策略拒绝在 openshift 中查看/获取操作?
我们要禁用oc get/describe
forsecrets
以防止令牌登录
当前政策禁止创建、更新、删除但不禁止查看机密
资源对象中的数据只是:
{\"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
open-policy-agent - 如何在 Rego 中发出 HTTP GET 请求
我想向 rego 中的 url 发出获取请求。但它引发了无效参数:rego 模块中不允许的内置函数调用:http.send错误这是我的代码。
我做错了什么?
open-policy-agent - 使用 rego 比较输入列表中的前后值
当我运行以下命令时,我可以比较参数 instance_class 的值并计算差异数:
但是,我希望能够使用相同的代码块来比较我的列表 my_params 中包含的不同参数值。我尝试了以下方法,但这不起作用。
open-policy-agent - 怎么办 || 雷戈中的“b”
我们验证有和没有命名空间的对象,我总是想打印当前的命名空间是什么......但是当没有设置命名空间时回退到“”或其他一些默认值。
使用 naiveinput.review.object.metadata.namespace
直接违反了规则,所以我求助于
它打印一个数组,有点难看,但它可以工作......有更好的解决方案吗?
open-policy-agent - Rego:如何指定不具有多个条件中的任何一个
如何验证 Rego for OPA 中是否存在两个单独的密钥?目前,我正在使用这样的not
运算符:
但是,这只会拒绝没有livenessProbe
和的容器readinessProbe
。如何指定拒绝缺少两个键中的任何一个的容器?
testing - Rego测试:如何测试“不否认”?
我正在探索使用opa test
以下简单规则开始测试我的 Rego 策略:
我能够针对被拒绝的情况成功地对此进行测试:
但是,当我尝试针对应该允许的情况进行测试时,如下所示:
我收到一个错误:
test_allowed_example
除了知道这是失败的测试外,我无法真正解析此错误消息。
如何正确测试允许输入(不拒绝)的用例?
open-policy-agent - OPA Rego 函数语句评估顺序
输入= {“部门”:“英语”,“位置”:“伦敦”}
上面的代码只匹配hello。为什么即使条件相同,世界也不匹配,但顺序颠倒了?
open-policy-agent - 映射数组中的项目
希望这是一个简单的好方法,但我就是不知道该怎么做。
我想用 rego 将数组中的项目映射到更干净的版本。例如从下面的数据
我想把数据变成
我认为我最接近的两个是
open-policy-agent - Rego object.get 与多级键
有没有办法使用 object.get 与多级键..?
我的输入如下所示:
{
"pipelineParameters" : {
"k8" : {
"NODES" : "1"
},
"ec2": {
"NODES" : "0"
}
}
我的数据看起来像
{
"key": "pipelineParameters.k8.NODES"
}
如何根据多级键从输入中获取价值
示例代码
open-policy-agent - opa rego 结果集表达式中的“位置”键是什么?我可以在输入 json 中获取导致违反政策的位置吗?
我正在使用 go rego 包,编组时的 rego.ResultSet 给出了这个:
我打算在输入 JSON 中输出导致失败的键的位置,以便我可以在构建错误的上下文中使用它 我们之前使用 JSON 模式来验证 JSON,它用于从输入中返回键可以映射错误。https://www.jsonschemavalidator.net/
我想因为 rego 可以支持更复杂的决策,其中不止一个键将负责产生最终结果,这可能是它不会指向失败上下文输入中的位置的原因。除非我错过了什么?