问题标签 [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 - 无法使用 opa 网守在 kubernetes 上的特定命名空间 (prod) 中拒绝具有最新标签的 pod
我是 OPA 策略的新手,需要拒绝在我的集群中运行的容器在其映像中具有最新标签的容器,这必须仅针对 prod 命名空间被拒绝,我遇到的问题是使用的命名空间是什么,pod 将是如果它们是在图像中使用最新标签创建的,则被拒绝!!!!!!,我在这里做错了吗?这是我的约束模板:
这是我的约束:
open-policy-agent - Rego 策略的测试用例
对不起我的新手问题。我已经编写了一个 rego 规则来检查 ASV 名称,现在我正在寻找相同的测试用例。我查看了示例测试用例,但没有成功编写我的策略(粘贴在下面)。想知道我怎样才能得到下面规则的正面和失败案例。
open-policy-agent - Rego 的 Array.map 或如何将 RBAC 与 api 路由相结合
我想在 JSON 数据中定义权限,例如:
现在在评估时,我想:uid
用input.subject
. 我该怎么办?Rego 中有类似 Array.prototype.map() 的东西吗?
PS:例如,我知道我可以做到这一点。
但是,我不想在策略中拼出每个路径,而是想使用 RBAC(角色 + 权限),以便我可以将这些 API 端点权限作为 JSON 数据传递。可能吗?
kubernetes - 使用其他规则检查 k8s 命名空间中的注释的 OPA Rego 规则
我想检查命名空间中是否存在注释,如果不拒绝。我有这个代码,但不工作。如何获得正确的对象路径 (namespace.annotation) 进行比较?
我在我的约束中指定了 pod 和命名空间,因为我需要在我的模板中检查两者的规则
谢谢 !
open-policy-agent - 是否可以在开放策略代理策略中使用外部程序的输出
我想制定一项政策,必须通过针对没有 http api 的记录系统查询字段来做出决定。策略有没有办法调用外部程序并使用其返回码来决定是否允许/拒绝?
查看https://www.openpolicyagent.org/docs/latest/policy-reference/#built-in-functions,我没有找到要使用的功能。有我缺少的功能吗?
open-policy-agent - 将 opa http.send 与 conftest 一起使用
我在使用conftest时对数据导入和内置 opa 函数的执行有疑问。在下面的代码示例中,我有两个模块abc
和main
. 我方便地省略了一些设置abc
,重要的是它是一个有效的 https 调用。
从 repl 中工作,我的代码完全按照我的预期执行,即时获取数据available
并检查是否stuff
在该列表中。opa run -b .
然后点击data.abc
执行 https 调用,即我可以看到数据包离开我的界面,并且包含我需要的列表的响应正文被拉入。然后我从deny
. 运行时也会发生同样的事情opa test . -v
。
然而,运行conftest verify -p .
或 conftest test abc/main.json -p .
从不执行http.send
,即数据包永远不会离开我的预期主机接口。
我可以使用静态列表而不是使用 https 调用,但我无法控制列表何时更新。这是 conftest 的预期/预期限制吗?我可以执行这些函数来构建我的数据文档并且我是否正确导入它?
open-policy-agent - 联合 rego 中的一组对象
如何将一组对象合并为一个对象rego
?
我知道如何合并两个对象,但是如何循环遍历对象数组?
此示例有效,但(显然)不可扩展;)
预期输出:
谢谢!
卡斯帕
open-policy-agent - 如何检查 REGO 中的对象数组以检查用户是否有权限自负?
我正在尝试检查用户是否有特定的权限自负给了一个主题和动作来检查,遗憾的是我无法使它工作,这是 REGO 文件:
这是单元测试,它反映了 Go 代码是如何提供输入的:
好吧,这就是结果:
我究竟做错了什么?以及如何更改我的代码以实现我所需要的?
amazon-web-services - OPA 拒绝创建新子网
我有以下 rego 代码,
我的 main.tf 文件如下
S3后端如下:
我进行如下:
当我期望它为假时,我得到“真”作为对超过 2 个子网的任何子网创建的响应?
注意:提前道歉,我是 OPA 的新手,但肯定会从中得到启发。