上下文
对Google (GKE) kubernetes集群的访问是通过Google特性管理的;
gcloud auth login,然后使用gcloud container clusters get-credentials对Google进行身份验证,并让gcloud工具编写一个kubernetes配置文件,准备好使用集群。kubectl访问集群。用上面的例子,阅读工作..。写/改不了;一切都好!问题
GKE kubernetes集群的IAM角色非常简单,“管理、读/写、读”。
为了对kubernetes集群进行更细粒度的控制,应该在集群中使用Kubernetes RBAC,允许我将用户限制在单个名称空间、单个API端点、单个操作等。
但是,没有为用户指定IAM角色;用户无法对集群进行身份验证(RBAC是授权,而不是身份验证)。
然而,我可以设置的最低权限IAM角色是“”,因此,不管我使用Kubernetes RBAC实现了哪些限制,我的所有用户仍然拥有完全的读取权限。
问题
有没有人找到一种方法来确保GKE中的所有权限都来自RBAC,基本上取消了IAM的权限?
发布于 2017-08-29 17:40:04
奇怪的是,写出这道题能让你很快找到答案,嗯?
Google Cloud的IAM中有一个新的"Alpha“功能,上次我试图解决这个问题时,它不在那里;
在IAM > Roles下,您现在可以使用自己的权限子集创建自定义IAM角色。
我创建了一个最小的角色,它允许gcloud container clusters get-credentials工作,但不允许其他任何角色,这允许由RBAC完全管理kubernetes集群中的权限。
初步测试看起来不错。
下面是IAM角色截图(包含需要的权限)。
https://stackoverflow.com/questions/45945074
复制相似问题