Mat*_*son 7 google-compute-engine kubernetes google-kubernetes-engine google-iam kubernetes-security
上下文
通过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角色非常简单,"Admin,Read/Write,Read".
为了对kubernetes集群进行更细粒度的控制,应在集群中使用Kubernetes RBAC ,允许我将用户限制为单个命名空间,单个API端点,单个操作等.
但是,没有为用户指定IAM角色; 用户无法对群集进行身份验证(RBAC是授权,而不是身份验证).
然而,我可以设置的最低权限IAM角色是"Container Engine Viewer",因此无论我使用Kubernetes RBAC实施的限制如何,我的所有用户仍然具有完全读取权限.
题
有没有人找到一种方法来确保GKE中的所有权限来自RBAC,基本上取消了IAM的权限?
很奇怪写出这个问题会让你早日得到答案吗?
Google Cloud的IAM中有一个新的"Alpha"功能,上次我试图解决这个问题时并没有这个功能.
在IAM>角色下,您现在可以使用自己的权限子集创建自定义IAM角色.
我创建了一个允许gcloud container clusters get-credentials工作的最小角色,但没有别的,允许kubernetes集群内的权限由RBAC完全管理.
初步测试看起来不错.
IAM角色截图(具有所需权限)如下.
| 归档时间: |
|
| 查看次数: |
1192 次 |
| 最近记录: |