为每个用户授予特定命名空间的特权

时间:2020-04-21 03:20:58

标签: kubernetes

我有很多用户。每个用户都应该能够在*-stage之类的命名空间中创建/更改/删除物质。可以动态添加或删除命名空间。我可以在每个命名空间中创建ServiceAccount并授予特权。

我在k8s中创建了pod,并将kubectl和ssh安装到其中。因此,每个用户都可以访问此pod并可以使用kubectl。我知道我可以将ServiceAccount机密安装到Pod。就每个命名空间而言,我有不同的ServiceAccounts,我不知道如何为每个用户授予所有*-stage命名空间的特权。我不想为ServiceAccount创建cluster-admin ClusterRoleBinding,因为用户应该只能修改*-stage命名空间。你能帮我吗?

1 个答案:

答案 0 :(得分:1)

我正在发布基于OP解决方案的社区Wiki答案,以提高可见度:

实际上,我已经解决了问题。我在每个角色中创建["*"]个角色 *-stage名称空间,并将其绑定到ServiceAccount。然后我将ServiceAccount挂载到可通过ssh使用的kubectl pod。所以每个 用户可以不受限制地访问*-stage命名空间。

我还将添加有关ServiceAccountrole-based access control的官方文档链接作为补充。