问题标签 [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.
open-policy-agent - OPA规则正文中的赋值(=)运算符和相等(==)运算符有什么区别
在 OPA 文档https://www.openpolicyagent.org/docs/latest/policy-testing/中有一个策略定义,如下所示:
在第一条规则中它是input.path == ["users"]而在第二条规则中它是input.path = ["users", profile_id]。那么有人可以帮我指出这两者之间的区别吗?
open-policy-agent - 如果我们在 OPA 的规则体中定义了理解,为什么我们无法评估它?
以下是我的示例代码:https ://play.openpolicyagent.org/p/oyY1GOsYaf
在这里,当我尝试评估名称数组时,它显示:
error occurred: 1:1: rego_unsafe_var_error: var names is unsafe
但是当我在允许规则定义之外定义相同的理解时:https ://play.openpolicyagent.org/p/Xv0cF7FM8b ,我能够评估选择
有人可以帮我指出区别吗?如果我想在规则中定义理解,我需要遵循什么语法吗?提前致谢
注意:在这两种情况下,我都得到了预期的最终输出,唯一的问题是名称数组评估。
open-policy-agent - 即使比较评估为假,OPA/rego 结果也为真
我刚开始使用 OPA,所以很有可能我做错了什么。
我有以下输入:
我想确保用户拥有所有必需的权限。我已经有了所需的变量:
这应该设置allow
为 false,因为Foo.Bar
不在principal_roles_at_requested_scope
集合中,但它被评估为true
:
另一方面,这有效,但不能明显使用:
java - 如何使用正则表达式从代码块中选择第一行?
我正在尝试使用 java 从代码块(本质上是一个长字符串)中选择第一行。我目前正在使用纯 java 执行此操作,但这似乎很笨拙。如果可能的话,我想尝试使用正则表达式来代替。
我的代码目前看起来像:
代码字符串如下所示:
我需要的codeExpr的最终结果是:
opa - 有什么方法可以验证输入是否以 REGO 语言传递?
在 REGO 语言中,我们如何验证输入是否存在?我有一种方法可以做到这一点。
但这是正确的方法吗?或者,还有更好的方法?
node.js - 如何将在 docker 上运行的简单 node.js 应用程序连接到也在 docker 容器上运行的 Open Policy Server
我正在尝试使用 docker compose 将节点应用程序和 Open Policy Agent 服务器捆绑在一起,我可以从浏览器访问 OPA 服务器,但是当我尝试使用节点应用程序中的 axios 发出请求时,我得到了这个:
我还尝试以相同的结果运行 2 节点应用程序,因此 opa 服务器没有问题
我创建了一个网络并确保两个容器都是其中的一部分:
这是码头工人撰写文件:
go - 如何获取 OPA 策略的属性?
假设我有 OPA 政策
我想得到一个input
使用 Golang 的属性列表,在这种情况下是
["path", "method"]
.
这甚至可能吗?