限制允许通过ArgoCD部署的kubernetes类型

问题描述

我们希望允许我们的开发人员通过将他们的代码和k8s资源合并到一个git repo中来将其更改自动部署到kubernetes集群,该仓库由ArgoCD监视。版本管理团队将负责管理ArgoCD配置和设置新应用,以及在集群上创建名称空间,角色和角色绑定,而开发人员应该能够通过GitOps部署其应用,而无需与直接集群。开发人员可能出于调试目的对群集具有读取访问权限。 现在的问题是:从理论上讲,开发人员可能会创建一个新的Yaml并指定一个角色绑定资源,该资源会将他/她的帐户绑定到集群管理员角色。由于ArgoCD具有群集管理员权限,因此这将是为开发人员提升特权的一种方式。 (或冒充开发人员的攻击者) 有没有一种方法可以限制通过ArgoCD创建哪些k8s资源。

编辑: 根据{{​​3}},使用clusterResourceWhitelist的每个项目都可以做到这一点。 可以在全球范围内这样做吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)