Kubernetes:系统的集群绑定:已在特定名称空间上验证

时间:2020-04-02 14:16:32

标签: kubernetes rbac

我对Kubernetes集群上的PSP(Pods安全策略)和RBAC感到困惑。

许多团队目前正在使用此群集来构建其CI / CD作业。 每个团队都有一个专用的命名空间,我们希望拒绝它们在集群中启动特权容器的可能性。

使用EKS集群,AWS创建了一个默认PSP,它允许所有内容,并通过以下clusterrolebinding绑定到集群中的每个资源:

kind: ClusterRoleBinding
metadata:
  name: eks:podsecuritypolicy:authenticated
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: eks:podsecuritypolicy:privileged
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: Group
  name: system:authenticated

我的目标是为所有“系统”名称空间保留默认的AWS ClusterRole,并将特定的PSP“禁用特权容器”应用于所有项目名称空间。 这将使我消除在系统名称空间上应用错误的PSP并破坏群集的风险。

我知道我可以在每个系统名称空间内创建一个RoleBinding

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: namespace-privileged
roleRef:
  kind: ClusterRole
  name: eks:podsecuritypolicy:privileged
  apiGroup: rbac.authorization.k8s.io
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: Group
  name: system:authenticated

但是我想知道我是否可以使用一个clusterolebinding而不是很多rolebinding来做到这一点?

我希望我已经清楚了,并预先感谢您提供的可能答案!

0 个答案:

没有答案