问题标签 [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 回答
64 浏览

performance - 在 OPA 中缓存常量?

也许有些人为的例子,但对于这样的顶级任务:

cache_duration_seconds := 60 * 60 * 24 * 30

OPA 是否将该值识别为常量并在请求之间保留它,还是将在每次调用时计算它?

0 投票
1 回答
421 浏览

open-policy-agent - 开放策略代理 (OPA) Rego - 在运行时访问输入对象嵌套字段

我正在尝试创建一个可以评估从输入中给出的嵌套对象字段的通用 rego 策略。例如:

我试过使用内置的“object.filter”和“json.filter”函数,但它们似乎不适用于嵌套属性。我也试过用“。”分割属性路径。并以某种方式通过字段迭代对象,但没有成功。

任何帮助都感激不尽。

0 投票
1 回答
69 浏览

open-policy-agent - 断言集合中的每个字符串在对象中都有一个关联的键

在阅读了几次 Open Policy Agent 介绍文档之后,我在编写一条规则时遇到了麻烦,该规则断言对于集合中的每个元素,指定的对象都有一个关联的键。

这是我目前正在尝试的一个简化示例

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

据我了解,当不包含该元素并且我已经测试它是否有效has_lemon时应该是错误的。但是,我也认为该规则应该评估到这里,因为缺少and的键。我在这里做傻事吗?fruits"lemon"all_fruits_have_entries_in_my_objectfalsemy_object"orange""banana"

0 投票
1 回答
500 浏览

open-policy-agent - 如何在 OPA Rego 中将列表转换为具有重复键的对象

我是 Open Policy Agent (OPA) 和 Rego 语言的新手。我需要将从输入中获得的对象列表转换为对象(最好在 O(n) 时间内)。问题是使用的密钥可能在列表中重复。输入示例:

预期输出:

这样做的最佳选择是什么?我试图创建一个函数,但从未评估输出:

我发现的唯一选择是内循环(O(n ^ 2)):

0 投票
1 回答
678 浏览

unit-testing - rego_type_error:未定义的函数

我是 OPA 和 rego 文件的新手。我创建了一个这样的 rego 文件:

而且,我创建了这样的测试 rego 文件:

当我运行这个测试用例时,我收到类似"rego_type_error: undefined function data.myaccess.is_user_allowed"的错误。帮我解决这个问题。谢谢

0 投票
1 回答
73 浏览

go - 如何在另一个内置的 Open 策略代理中使用内置

有没有办法在我想要创建的新内置中调用内置(如 io.jwt.decode_verify(string, constraints))?

或者有没有办法调用 OPA 的内部包的方法?

0 投票
1 回答
427 浏览

.net - 运行 regos 测试时遇到错误说“rego_unsafe_var_error”

为我的 rego 文件运行测试时出错。雷戈文件:

Rego 测试文件:

如果我在测试文件中设置值,can_tigger:= true/false那么我的测试将通过,但这样做不是编写测试的正确方法。

0 投票
1 回答
53 浏览

open-policy-agent - Open Policy Agent - 提高分组理解的性能

我有以下格式的 id 和角色映射

我需要输出如下

所以我写了下面的代码

但是当我运行它时,它几乎需要 5-6 秒

表现

在 5682526.465 µs 内找到 1 个结果。

有人可以指导如何编写此策略图以提高性能吗?

0 投票
1 回答
68 浏览

authorization - 如何将函数应用于数组的每个值并存储结果

我是 Open Policy Agent 和 Rego 语言的新手。我有一个字符串数组。这些字符串中的每一个都需要对它们执行一些操作,以便它们可以采用适当的格式以供以后使用。有没有办法将函数应用于数组中的每个元素,然后将这些处理后的元素存储为结果数组?

0 投票
1 回答
115 浏览

performance - 如何在单个 rego 策略中压缩和优化开放策略代理

一般来说,我是regoOPA开放策略代理)的新手。

我正在尝试为允许策略覆盖但在正常情况下在简单JSON文档中使用“策略配置”的实现创建默认策略。

我将输入用作“策略配置”,数据是策略要处理的数据。数据本身是经过预处理的,其中“$error”是已评估错误的JSON元素。

该策略似乎工作正常,但据我了解,它必须是一种更简单的方式来表达相同的事物rego,因此也更加优化(当前的策略需要大约 1 毫秒来评估)。

操场包含以下要在线评估的设置。

干杯,马里奥 :)

输入.json

数据.json

评估cbprovider rego策略后的输出是