首页 文章

Google Cloud容器引擎(GKE)上的IAM和RBAC冲突

提问于
浏览
4

Context

通过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 来访问群集 . 通过上面的例子,读取工作...写入/更改不;都好!

The Problem

GKE kubernetes集群的IAM角色非常简单,“Admin,Read / Write,Read” .

为了对kubernetes集群进行更细粒度的控制,应在集群中使用Kubernetes RBAC,允许我将用户限制为单个命名空间,单个API endpoints ,单个操作等 .

但是,没有为用户指定IAM角色;用户无法对群集进行身份验证(RBAC是授权,而不是身份验证) .

但是,我可以设置的最低权限IAM角色是"Container Engine Viewer",因此无论我使用Kubernetes RBAC实施哪些限制,我的所有用户仍然具有完全读取权限 .

Question

有没有人找到一种方法来确保GKE中的所有权限来自RBAC,基本上取消了IAM的权限?

1 回答

  • 5

    很奇怪写出这个问题会让你早日得到答案吗?

    Google Cloud的IAM中有一个新的“Alpha”功能,上次我试图解决这个问题时并没有这个功能 .

    在IAM>角色下,您现在可以使用自己的权限子集创建自定义IAM角色 .

    我创建了一个最小角色,允许 gcloud container clusters get-credentials 工作,但没有别的,允许kubernetes集群内的权限由RBAC完全管理 .

    初步测试看起来不错 .

    IAM角色截图(具有所需权限)如下 .

    Minimal IAM role with GKE cluster access

    New IAM roles alpha functionality

相关问题