Kubernetes 如何在gke中为用户提供名称空间访问权限?
我有一个带有多个名称空间的google kubernetes引擎集群。每个名称空间上都部署了不同的应用程序。是否可以只为用户提供对单个命名空间的完全访问权限?是的,Kubernetes有一个内置的RBAC系统,该系统与云IAM集成,因此您可以控制GCP用户对单个群集和命名空间的访问Kubernetes 如何在gke中为用户提供名称空间访问权限?,kubernetes,google-cloud-platform,namespaces,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Namespaces,Google Kubernetes Engine,我有一个带有多个名称空间的google kubernetes引擎集群。每个名称空间上都部署了不同的应用程序。是否可以只为用户提供对单个命名空间的完全访问权限?是的,Kubernetes有一个内置的RBAC系统,该系统与云IAM集成,因此您可以控制GCP用户对单个群集和命名空间的访问 创建Kubernetes角色 创建KubernetesRoleBinding 参考文献 您可以使用所选命名空间中的RoleBind将用户绑定到集群管理员角色。如集群管理中所述: 允许超级用户访问在任何资源上执行任
角色
RoleBinding
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: example
namespace: yournamespace
subjects:
- kind: User
name: example-user
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
好。谢谢半路。IAM下授予用户的角色应该是什么,这样用户就可以完全访问一个名称空间(使用您提到的role和rolebinding),而不能在其他名称空间中列出POD?
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: ROLE_NAME-binding
namespace: YOUR_NAMESPACE
subjects:
# GCP user account
- kind: User
name: janedoe@example.com
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: example
namespace: yournamespace
subjects:
- kind: User
name: example-user
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io