Kubernetes 集群授权与准入控制详解
1. 授权模块概述
Kubernetes 支持多种授权模块,包括:
- ABAC(基于属性的访问控制)
- RBAC(基于角色的访问控制)
- 节点授权
- Webhook
- 自定义模块
在 RBAC 引入之前,ABAC 是主要的授权模式。节点授权由 kubelet 用于向 API 服务器发出请求。Kubernetes 支持 Webhook 授权模式,可与外部 RESTful 服务建立 HTTP 回调。自定义模块则可通过实现预定义的授权接口来实现。下面重点介绍如何在 Kubernetes 中使用 RBAC。
2. 基于角色的访问控制(RBAC)
自 Kubernetes 1.6 起,RBAC 默认启用。在 RBAC 中,管理员创建多个角色(Role)或集群角色(ClusterRole),定义细粒度的权限,指定角色可以访问和操作的一组资源和操作(动词)。然后,管理员通过角色绑定(RoleBinding)或集群角色绑定(ClusterRoleBinding)将角色权限授予用户。
不同环境下启用 RBAC 的方法:
- 若使用 minikube,在启动时添加 --extra-config=apiserver.Authorization.Mode=RBAC 。
- 若通过 kops 在 AWS 上运行自托管集群,在启动集群时添加 --authorization=rbac 。
- EKS 和 GKE 原生支持 RBAC。
超级会员免费看
订阅专栏 解锁全文
70

被折叠的 条评论
为什么被折叠?



