问题标签 [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 投票
1 回答
362 浏览

kubernetes - GKE 上联合 Kubernetes 集群内的 HPA + Cluster Autoscaler + OPA

我正在Google Container Engine (GKE) 上使用kubefed1.8.3-gke.0建立一个联邦 kubernetes 集群。

似乎对于一个好的HPA集群自动缩放器,我必须使用 Open Policy Agent 作为kubernetes 准入控制器因为:

默认情况下,副本平均分布在所有底层集群中。例如:如果您有 3 个已注册的集群,并且您使用 来创建联合部署spec.replicas = 9,那么 3 个集群中的每个部署都将具有spec.replicas=3.

但在我的情况下,每个区域的负载都会动态变化,每个集群都应该有动态的 Pod 数量。

我找不到(或只是看不到)关于我的案例的示例或手册。所以,问题是:

如果我的联合上下文中有三个集群,一个策略应该有什么场景,一个用于 GKE 的每个区域

  • eu(1000 rps,标有“region=eu”的节点)
  • us(200 rps,标有“region=us”的节点)
  • 亚洲(100 rps,节点标记为“region=asia”)

它应该是在这三个集群中动态分布 Pod 的单一部署。

一个吊舱应该

  • 发球 100 rps
  • 请求 2 个 vCPU + 2Gb RAM
  • 单独放置在一个节点上(具有反亲和性

如果可能的话,我如何配置 OPA 以使该架构工作?

提前感谢您提供指向相应手册的任何链接。

0 投票
1 回答
1786 浏览

kubernetes - 如何在 Kubernetes 中禁用部署

我们为许多用户提供 Kubernetes 集群,应用程序之间通过命名空间进行分离。

对于部署使用 kubernetes-helm。在某些情况下,我们需要关闭在集群中部署应用程序的机会。一种选择是更改默认 sa 的权限(使用 kubernetes-helm)。

还能怎么解决?

0 投票
0 回答
478 浏览

.net - 将 Open Policy Agent 集成到 .Net Core API

我阅读了很多关于 Open Policy Agent OPA (www.openpolicyagent.org) 的文章,发现它是一种基于策略的 HTTP API 授权控制的好方法。

我想知道微软是否有计划将其集成到新的 .NET Core 中。

0 投票
1 回答
1958 浏览

open-policy-agent - 如何检查rego中是否定义了值?

我想检查 OPA 策略中是否定义了变量。

是否有检查变量是否已定义的功能

0 投票
1 回答
521 浏览

docker - 如何为容器创建用户名和密码或如何在容器内设置密码

由于每个人都可以通过插入命令 docker ps -a(运行容器)来访问容器,因此需要保护容器。我想创建用户凭据来访问容器。每个用户都应该有登录详细信息。请帮我解决这个问题。

0 投票
2 回答
164 浏览

docker - 是否可以使用docker临时创建测试环境?

我有一个 node.js 服务,它存储在应用程序启动时发送到开放策略代理服务的访问策略。策略可以是测试,但要这样做,它们需要在不属于我的服务的开放策略代理环境中运行。在构建我的 node.js 服务 docker 映像时,有没有办法运行这些测试?所以除非所有测试都通过,否则不会构建图像?

因此,dockerfile 可能看起来像这样:

0 投票
0 回答
94 浏览

authorization - 打开策略代理策略管理

我将 OPA 作为 ABAC 授权基础架构的引擎。对于较新的版本,人们可以指定一项服务,该服务为策略提供包含数据和规则的捆绑包。如果有一些开源项目正在解决 OPA 的策略管理,比如 XACML 标准中的 PAP 风格,我在徘徊吗?一些服务框架至少可以管理策略的生命周期并将它们提供给运行 OPA 服务?

0 投票
1 回答
3175 浏览

terraform - 我可以遍历 OPA 中对象的键和值以验证它们是否符合某种格式(CamelCase)

我们正在使用conftest来验证我们的 terraform 变更集是否适用于某些规则和合规性。我们要验证的一件事是我们的 AWS 资源是否根据 AWS 标记约定进行标记,该约定指定要使用的某些标签(例如 Owner、ApplicationRole、Project)并指定所有标签和值都在 CamelCase 中。

在 terraform 中,变更集在以下(简化的)json 输出中描述:

我现在要做的是验证以下内容:

  1. 检查是否设置了标签。
  2. 验证键和值是否都是驼峰式。
  3. 检查密钥是否至少包含集合(ApplicationRole、Owner、Project)。

但是,我无法在 Rego 中定义它(我对 OPA 很陌生)。

有没有办法“循环”对象的键和值,并验证它们的格式是否正确?

在伪代码中:

我尝试了以下方法:

但是,在针对以下测试 json 进行评估时:

规则返回 true,即使我同时检查键和值与正则表达式

0 投票
2 回答
1035 浏览

kubernetes - 对于以下示例,.rego 中的 opa 策略是什么?

我是 opa 和 k8s 的新手,我在这个领域没有太多的知识或经验。我想在 rego 代码(opa 政策)中制定政策并执行以查看结果。以下示例是:

  1. 始终拉取图像 - 确保每个容器都将其“imagePullPolicy”设置为“始终”</li>
  2. 检查 Liveness Probe - 确保每个容器都设置 livenessProbe
  3. 检查 Readiness Probe - 确保每个容器都设置了 readinessProbe

对于以下内容,我想要一个 opa 政策:

1.总是拉图像:

2.检查活性探针

3.检查就绪探针

有没有办法为上述条件创建 opa 策略。任何人都可以提供帮助,因为我是 opa 的新手。提前致谢。

0 投票
2 回答
5242 浏览

authorization - 使用开放策略代理 (OPA) 作为 ABAC 系统

我有一个项目需要 ABAC 对我的项目资源进行访问控制。我一直将 OPA 和 authzforce 视为实现 ABAC 的选项,而 OPA 看起来可能没有 authzforce 复杂。我看到 OPA 将自己与其他系统和范例进行比较,但它为 ABAC 提供的示例还有很多不足之处。主要是因为 ABAC 需要使用点来执行策略、围绕策略做出决策、获取策略决策的主题和对象属性。我觉得 OPA 除了最后一部分之外什么都有,但很难说这是否属实,因为他们的 ABAC 示例只是一次性的。

我一直在互联网上寻找 OPA 被用作 ABAC 实现的示例,但我没有找到任何东西。

我的项目是一个 Web 应用程序,它允许最终用户创建资源并为其资源创建策略。我计划为最终用户创建一个 UI 来创建他们的策略。我的计划是抽象出它的编码方面,而是给他们下拉菜单和按钮,这个 UI 将在幕后使用自定义语法,我将解释为 OPA 策略。

我遇到的主要问题是如何将它实现为 ABAC,它是否像构建将获取主题、对象和环境的属性并在它和 OPA 之间创建粘合剂的部分一样直接(本质上是创建一个 PIP ) 因为 OPA 本身似乎是事实上的 PEP 和 PDP?

我觉得我被文档淹没了,OPA 自己的文档中似乎缺少很多内容来解释如何做到这一点。