问题标签 [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.

0 投票
2 回答
1067 浏览

open-policy-agent - 比较 Rego 语言中的两个数组

我想比较所需数组中输入数组中的每个值。在其他语言中,两个正常的循环会做到这一点。但在 Rego 语言中,它们不是循环。有谁知道我该怎么做

0 投票
2 回答
264 浏览

kubernetes - 使用 OPA 进行 Envoy 外部授权 - 使用大型 JSON 主体评估失败

我有运行 3 个容器的 k8s pod:我的应用程序、opa、特使

我的所有设置都遵循本指南:https ://www.openpolicyagent.org/docs/latest/envoy-authorization/

一切都很顺利,直到我拥有 15kb JSON 正文。

检查我在 request.http.body 中看到的 OPA 容器日志——那里只有大约一半的 JSON。

我尝试增加with_request_body。

还有什么我错过的吗?

非常感谢你的帮助

0 投票
1 回答
47 浏览

google-kubernetes-engine - google kubernetes引擎上同一个pod中的多个容器

我想将 OPA 与我的应用程序一起部署为 google k8s 引擎上的边车容器。所以需要帮助来找出我应该遵循的步骤,是否有任何示例博客可以找到?

0 投票
1 回答
435 浏览

open-policy-agent - OPA 冲突政策

我写了一个示例 rego 代码

当我尝试使用带有参数的http://localhost:8181/v1/data/http/authz/allow API验证策略时

我得到回复:{"decision_id":"xxxxx","re​​sult":true}

这是预期的结果吗?如果存在冲突的策略,不应该出现错误吗?

0 投票
1 回答
116 浏览

open-policy-agent - OPA PrepareForEval 时间呈指数增长

我需要我的应用程序能够加载策略 (rego),然后根据定义的策略评估输入 JSON。

我错误地PrepareForEval在我的评估 API 中使用了而不是加载策略 API。这个结果让我感到惊讶,因为每次评估后响应时间都呈指数级增长,而策略却保持不变。虽然,在此之后,我已经意识到并改变了我的逻辑,在加载策略时调用PrepareForEval方法,然后将准备好的查询实例存储在我的结构实例中。但是我仍然担心如果在加载策略时准备方法被多次执行,那么它仍然会成为一项昂贵的操作。

因此,最好指出使用 prepare 方法的正确方法。

示例代码:

0 投票
1 回答
558 浏览

open-policy-agent - 如何在 Windows 上安装开放策略代理?

如何在 Windows 中安装 OPA?当我双击exe时,它说使用命令提示符安装。但是我没有找到安装 OPA 的命令。

我想将 OPA 与 Visual Studio 代码编辑器集成,并从 VS 评估策略。我按照https://marketplace.visualstudio.com/items?itemName=tsandall.opa中的步骤操作,但在评估查询时得到空输出,因为未安装 OPA。

0 投票
1 回答
94 浏览

google-kubernetes-engine - 如何在 GKE 上将 opa 部署为 side car 后找到 OPA url

我已经将 OPA 部署为我的应用程序的边车。现在我想找出 OPA url,因为我想把它作为一个端点。OPA 文档提到我们可以在部署后找到 OPA url,使用“OPA_URL=$(minikube service opa --url)”,然后使用这个命令“curl $OPA_URL/v1/data”。所以我想知道如何用 GKE 做同样的事情?

0 投票
1 回答
61 浏览

java - 在 GKE 上使用我的应用程序部署 OPA 后容器之间的通信问题

在我的应用程序端,我有一个名为 myfunction 的函数,通过这个函数,我们可以使用其端点和 OPAinput 作为函数参数调用 OPA,它通过“函数(上下文,数据)”部分中的“数据”返回响应。这就是我调用函数的方式。

当我通过在本地运行 OPA 和应用程序来测试这个功能时,它运行良好。但是现在我已经将 OPA 与应用程序一起部署为 GKE 上的 sidecar 容器,我尝试了同样的事情,但它不起作用。它说

“无法在 jdk.scripting.nashorn/jdk.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57) 在 jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors 获得属性“许可” .typeError(ECMAErrors.java:213…………。”</p>

0 投票
1 回答
48 浏览

open-policy-agent - 将我的策略 (policy.rego) bydfault 应用到我的 opa

我正在使用一个名为 concourse 的 ci/cd 应用程序,该应用程序最近集成到 OPA 中。我们的大厅设置在 k8s 中运行。我正在尝试使用以下配置将 opa 作为它推荐的 sidecar 运行。/

边车配置:https ://github.com/concourse/concourse-chart/blob/master/values.yaml#L1530

我也想应用一些策略。我的政策文件是 concourse_policy.rego

我不确定,当 Sidecar 运行时,如何将此策略默认应用于我的 opa。怎么可能。?

0 投票
0 回答
232 浏览

open-policy-agent - OPA - http.send 方法抛出间歇性 403

我正在使用版本:“0.21.0-istio of OPA 及以下是流程

  1. 用户访问我的 API
  2. 我从标头中获取某些信息,并使用 http.send 对另一个系统进行内部调用以获取与用户关联的详细信息
  3. 根据响应,我进行匹配并决定是否可以允许用户访问或拒绝

我遇到了随机的间歇性问题,其中 http.send 方法被 opa 取消,因此我的代码中断,因为我不能允许用户在不匹配响应的情况下访问 API

以下是我在日志中看到的错误

请指教