我目前正面临目前的情况。我想让用户访问各个命名空间,这样他们就可以
- 使用 Helm 图表创建和部署资源(例如,来自 Bitnami)
另一方面,用户不应该
- 创建/检索/修改/删除 RBAC 设置,如 ServiceAccounts、RoleBindings、Roles、NetworkPolicies
- 掌握与 ServiceAccounts 相关的秘密
当然,关键是在这里为它定义最好的角色。可能,以下不是最好的主意:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: role
namespace: example-namespace
rules:
- apiGroups: ["*"]
resources: ["*"]
verbs: ["*"]
因此,如果你能提出一些明智的方法,用户可以尽可能自由地使用它,但不要接触一些更“危险”的资源,那就太好了。
本质上,我想遵循此处概述的工作流程 ( https://jeremievallee.com/2018/05/28/kubernetes-rbac-namespace-user.html )。所以最重要的是,一个命名空间中的单个用户无法读取同一命名空间中用户的秘密,因此他们无法使用其他人的凭据进行身份验证。