k8s–基础–23.5–认证-授权-准入控制–通过token令牌登陆dashboard界面


1、创建一个只能管理指定名称空间的token

以下步骤在k8s的master节点操作

1.1、在lucky命名空间创建一个lucky的serviceaccount账户

# 创建lucky命名空间
kubectl create namespace lucky
# 创建serviceaccount账户:lucky-admin
kubectl create serviceaccount lucky-admin -n lucky

1.2、把lucky用户做rolebingding绑定


kubectl create rolebinding lucky-admin-rolebinding -n lucky --clusterrole=cluster-admin --serviceaccount=lucky:lucky-admin

  1. 在lucky名称空间下创建一个rolebinding,名字叫做lucky-admin-rolebinding
  2. 将lucky名称空间下的lucky-admin账号通过clusterrole绑定集群角色cluster-admin,这样lucky-admin账号就有了cluster-admin角色的权限。
  3. lucky-admin账号的权限只能限制在lucky名称空间下,因为我们创建的是rolebinding

1.3、查看secret

1.3.1、查看

kubectl get secret -n lucky

kubectl describe secret lucky-admin-token-lhp7m  -n lucky

在这里插入图片描述

1.4、使用上面的token进行登陆

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以看到,lucky账号只能操作lucky空间的资源,其他空间的资源不能操作。

2、创建管理员token,可查看任何空间权限

  1. 以下步骤在k8s的master节点操作
  2. 操作:只要将绑定改为clusterrolebinding就行

2.1、在lucky2命名空间创建一个lucky2的serviceaccount账户

# 创建lucky2命名空间
kubectl create namespace lucky2
# 创建serviceaccount账户:lucky2-admin
kubectl create serviceaccount lucky2-admin -n lucky2

2.2、把lucky用户做rolebingding绑定


kubectl create clusterrolebinding lucky2-admin-rolebinding --clusterrole=cluster-admin --serviceaccount=lucky2:lucky2-admin
 
  1. 因为创建的是clusterrolebinding,所以不需要指定名称空间
  2. 创建一个clusterrolebinding,名字叫做lucky2-admin-rolebinding
  3. 将lucky2名称空间下的lucky2-admin账号通过clusterrole绑定集群角色cluster-admin,这样lucky-admin2账号就有了cluster-admin角色的权限。

2.3、查看secret

1.3.1、查看

kubectl get secret -n lucky2

kubectl describe secret lucky2-admin-token-h2shd   -n lucky2

在这里插入图片描述

2.4、使用上面的token进行登陆

在这里插入图片描述

在这里插入图片描述

可以看到lucky2-admin账号可查看任何空间权限

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐