问题标签 [open-policy-agent]
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.
jwt - OPA 参考语言:如何知道变量的类型
我正在使用开放策略语言为我的微服务实施策略,使用 JWT 和角色和组。
我的 OPA 政策正在解码 JWT 并提取声明。问题是其中一些声明可能是标量(例如 group1)或数组(例如 ["group1", "group2"]),我需要知道才能正确处理它。
问题类似于 如何确定 opa 中变量的类型?
有什么帮助吗?
open-policy-agent - 如何根据开放策略代理 (OPA) 中的 OR 标准返回响应对象。获取错误完整规则一定不能产生多个输出?
我试图根据触发该规则的条件返回 OPA 策略中的响应对象,但给出错误“错误评估 policy.rego:11: eval_conflict_error: 完整规则不得产生多个输出”,因为两个 OR 条件都评估为真的。
例如,这是一个示例 OPA 策略:
使用以下输入:
在这里,我尝试将 OptionalRule 实现为 OR 条件并尝试返回触发它的 optionalRule 条件,但它给出了上述错误。关于如何实施的任何想法?
open-policy-agent - 断言集合中的每个字符串在对象中都有一个关联的键
在阅读了几次 Open Policy Agent 介绍文档之后,我在编写一条规则时遇到了麻烦,该规则断言对于集合中的每个元素,指定的对象都有一个关联的键。
这是我目前正在尝试的一个简化示例
https://play.openpolicyagent.org/p/oWBumjRkWX
据我了解,当不包含该元素并且我已经测试它是否有效has_lemon
时应该是错误的。但是,我也认为该规则应该评估到这里,因为缺少and的键。我在这里做傻事吗?fruits
"lemon"
all_fruits_have_entries_in_my_object
false
my_object
"orange"
"banana"
spring-security - 如何即时更新 OPA 政策
我是 OPA(开放策略代理)的新手,并试图将 OPA 用作授权的集中服务。
我有几个使用 Spring Boot 构建的微服务,我不想使用 Spring Security 来保护我的资源/控制器,因为这需要使用 Spring 安全注释来注释我的控制器,并且对资源和角色映射的任何更改都会导致部署服务,这是使用 OPA 的动机,因为我的资源和角色映射并保存在 DB(JSON 格式)中并且可以动态配置/更改,所以我如何更新 OPA 策略,我遇到了 bundles API但这需要将策略(rego 文件)打包为 tar 文件,OPA 会定期提取它,那么如何将我的 JSON(资源到角色映射)转换为 rego 文件?
open-policy-agent - 开放策略代理 - 如何从 REST API 持久化策略?
我是 OPA(开放策略代理)的新手,并尝试使用 REST API /v1/policies/{id} 创建新策略。有用!但是,OPA 服务器将其保存到内存中,重新启动后我的所有策略都被删除。我该如何解决它,我应该使用哪些参数来持久保存创建的策略?
open-policy-agent - 如何在 OPA Rego 中将列表转换为具有重复键的对象
我是 Open Policy Agent (OPA) 和 Rego 语言的新手。我需要将从输入中获得的对象列表转换为对象(最好在 O(n) 时间内)。问题是使用的密钥可能在列表中重复。输入示例:
预期输出:
这样做的最佳选择是什么?我试图创建一个函数,但从未评估输出:
我发现的唯一选择是内循环(O(n ^ 2)):
kubernetes - 如何在 Kubernetes 中限制对“kube-system”等命名空间的访问
我们想为我们的客户提供一个预装应用程序的集群,因此希望给客户除我们提供的命名空间和系统命名空间(例如“kube-system”)之外的所有权利,以便他们看不到敏感信息秘密中的信息或破坏那里的任何东西。我们已经用 OPA 进行了测试,但不幸的是你不能在那里拦截 GET 请求,这意味着秘密仍然可以查看。它也不适用于 RBAC,因为您不能拒绝访问那里的特定命名空间。
有没有办法做到这一点?
谢谢和最好的问候
吠陀
unit-testing - rego_type_error:未定义的函数
我是 OPA 和 rego 文件的新手。我创建了一个这样的 rego 文件:
而且,我创建了这样的测试 rego 文件:
当我运行这个测试用例时,我收到类似"rego_type_error: undefined function data.myaccess.is_user_allowed"的错误。帮我解决这个问题。谢谢
go - 如何在另一个内置的 Open 策略代理中使用内置
有没有办法在我想要创建的新内置中调用内置(如 io.jwt.decode_verify(string, constraints))?
或者有没有办法调用 OPA 的内部包的方法?
.net - 运行 regos 测试时遇到错误说“rego_unsafe_var_error”
为我的 rego 文件运行测试时出错。雷戈文件:
Rego 测试文件:
如果我在测试文件中设置值,can_tigger:= true/false
那么我的测试将通过,但这样做不是编写测试的正确方法。