K8S权限管理-RBAC
1、RBAC:基于角色的访问控制,将权限授予角色,为用户分配角色,完成授权。RBAC的特点:
(1)对集群中的资源和非资源型URL的权限实现了完整覆盖
(2)整个RBAC完全由少数几个API对象实现,可以通过kubectl或者API调用进行操作
(3)支持权限的运行时调整,无需重新启动APIServer
2、角色
Kubernetes将RBAC授权插件将角色分为Role和ClusterRole
Role:作用于名称空间级别,承载名称空间内的资源权限集合。
ClusterRole:能同时承载名称空间和集群级别的资源权限集合
2.1、Role资源清单
创建一个属于test名称空间的Role

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: test
name: pods-reader
rules:
- apiGroups: [""]
resources: ["pods","services","pods/log"]
verbs: ["get","watch","list"]
2.2、Rolebinding
为test用户增加test名称空间的访问权限

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: podreader
namespace: test
subjects:
- kind: ServiceAccount
name: test
namespace: default
roleRef:
kind: Role
name: pods-reader
apiGroup: rbac.authorization.k8s.io
2.3、验证
状态查看:
使用test ServiceAccount token登录dashbord测试:可以看到这个serviceaccount可以访问default和test两个名称空间的信息,且在test名称空间只能查看role定义的权限
3、ClusterRole和ClusterRoleBinding配置与role和RoleBinding配置类似。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏