【发布时间】:2018-02-07 06:18:05
【问题描述】:
上下文
通过 Google Cloud IAM 功能管理对 Google Cloud (GKE) kubernetes 集群的访问;
-
管理员邀请新用户(使用他们的 google 帐户/登录名)并为他们分配一个角色。
下面的示例角色是“Container Engine Viewer”,它将允许用户访问 Kubernetes 集群并运行所有“查看”操作。
-
用户可以在其本地计算机上使用
gcloud auth login,然后使用gcloud container clusters get-credentials向Google IAM 进行身份验证,并让gcloud工具将它们写出kubernetes 配置文件,以便使用集群。 -
然后用户可以使用
kubectl访问集群。在上面的例子中,读取工作......写入/更改不;一切顺利!
问题
GKE kubernetes 集群的 IAM 角色非常简单,“管理员、读/写、读”。
要对 Kubernetes 集群进行更细粒度的控制,Kubernetes RBAC 应该在内集群中使用,允许我将用户限制为单个命名空间、单个 API 端点、单个操作等。
但是,没有为用户指定 IAM 角色;用户无法对集群进行身份验证(RBAC 是授权,而不是身份验证)。
然而,我可以设置的最低权限 IAM 角色是“容器引擎查看器”,因此无论我使用 Kubernetes RBAC 实施的限制如何,我的所有用户仍然具有完全读取权限。
问题
有没有人找到一种方法来确保 GKE 中的所有权限都来自 RBAC,基本上取消来自 IAM 的权限?
【问题讨论】:
标签: kubernetes google-compute-engine google-kubernetes-engine google-iam kubernetes-security