Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 限制允许的kubernetes类型与ArgoCD一起部署_Security_Kubernetes_Continuous Deployment_Argocd - Fatal编程技术网

Security 限制允许的kubernetes类型与ArgoCD一起部署

Security 限制允许的kubernetes类型与ArgoCD一起部署,security,kubernetes,continuous-deployment,argocd,Security,Kubernetes,Continuous Deployment,Argocd,我们希望通过将代码和k8s资源合并到ArgoCD监视的git repo中,允许开发人员自动将更改部署到kubernetes集群。发布管理团队将负责管理ArgoCD配置和设置新的应用程序,以及在集群上创建名称空间、角色和角色绑定,而开发人员应该能够通过GitOps部署其应用程序,而无需直接与集群交互。开发人员可能具有集群上的读取权限以进行调试。 现在的问题是:理论上,开发人员可能会创建一个新的yaml并指定一个rolebinding ressource,该角色将其帐户绑定到集群管理员角色。由于Ar

我们希望通过将代码和k8s资源合并到ArgoCD监视的git repo中,允许开发人员自动将更改部署到kubernetes集群。发布管理团队将负责管理ArgoCD配置和设置新的应用程序,以及在集群上创建名称空间、角色和角色绑定,而开发人员应该能够通过GitOps部署其应用程序,而无需直接与集群交互。开发人员可能具有集群上的读取权限以进行调试。 现在的问题是:理论上,开发人员可能会创建一个新的yaml并指定一个rolebinding ressource,该角色将其帐户绑定到集群管理员角色。由于ArgoCD具有群集管理权限,这将是升级开发人员权限的一种方式。(或攻击者模仿开发人员) 是否有办法限制允许通过ArgoCD创建哪些k8s资源

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

您对Argo CD项目的看法是正确的。项目CRD支持使用
clusterResourceWhitelist
clusterResourceBlacklist
等字段允许/拒绝K8S资源。Argo CD中还提供了示例项目定义


为了全局限制托管资源列表,您可以在
argocd cm
ConfigMap中指定
resource.exclusions
/
resource.inclusions
字段。示例是可用的。

我不完全确定tbh,但是否有一种方法可以使用某种资源白名单/黑名单来配置ArgoCD?这可能是一种方法,你是对的。根据调查,这似乎是可能的。有没有一种方法可以在全球范围内做到这一点?如果没有,是否有人有配置示例/良好实践示例?