首页/云/Kubernetes 速查/RBAC:Role 与 Binding
集群运维与排障54 条

RBAC:Role 与 Binding

权限由「角色 + 绑定」组成:Role/ClusterRole 声明可对哪些资源做哪些动作,RoleBinding/ClusterRoleBinding 把它授予用户或 ServiceAccount。

Kubernetes 速查云更新于 2026-10-12

只读示例

只读示例
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: prod
  name: pod-reader
rules:
  - apiGroups: [""]
    resources: ["pods", "pods/log"]
    verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  namespace: prod
  name: read-pods
subjects:
  - kind: ServiceAccount
    name: app-sa
    namespace: prod
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io

验证

验证
kubectl auth can-i list pods --namespace prod --as=system:serviceaccount:prod:app-sa

易错点

  • ClusterRoleBinding 授权范围是全集群:能用 RoleBinding 引用 ClusterRole 时优先局部化
  • roleRef 创建后不可修改:换角色要重建绑定

数据来源与参考

  • Kubernetes 官方文档 · 使用 RBAC 授权
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌