0

我想在 kubernetes 中使用 OPA(Open Policy Agent),但有一些我还不清楚的问题:

我们一起来看一个具体的案例:比如在命名空间中创建了一个 pod,我们可以从 OPA 的 pod 对象中知道命名空间。但是,我们可以单独获取命名空间对象来了解这个命名空间所属的权限吗?

更明确地说,我的意思是我们可以通过 OPA 通过 Kubernetes 集群进行请求吗?

例如,有一个名为 Test 的 pod 创建。我只想允许这个创建只用于一个名为 TestAuthority 的权限。创建 Pod 时,我们知道命名空间数据,但不知道权限。为了弄清楚这个 pod 所属的权限,我需要拥有命名空间对象并查看它的标签。我们可以通过 OPA 这样做吗?

此外,我们是否可以说允许使用 Test1、Test2 和 Test3 的名称创建 pod?因此,应该拒绝任何名称为 Test4 的 pod 创建。

预先感谢您的帮助

4

1 回答 1

1

(1) 是,请参阅https://github.com/open-policy-agent/kube-mgmt#cachinghttps://github.com/open-policy-agent/gatekeeper#replicating-data ,具体取决于您的集成想用。两者都允许将对象从 kubernetes 复制到 OPA 以在策略中引用。

(2) 是的,您可以编写这样的策略。

信用:Patrick East 从 OPA Slack 回答

于 2020-06-05T18:40:16.340 回答