Kubernetes 集群授权与准入控制详解
1. 授权模块概述
Kubernetes 支持多种授权模块,包括:
- ABAC(Attribute-Based Access Control)
- RBAC(Role-Based Access Control)
- 节点授权(Node authorization)
- 网络钩子(Webhook)
- 自定义模块(Custom modules)
在 RBAC 引入之前,ABAC 是主要的授权模式。节点授权由 kubelet 用于向 API 服务器发出请求。Kubernetes 支持网络钩子授权模式,可与外部 RESTful 服务建立 HTTP 回调。此外,还可以通过实现自定义模块来进行授权。接下来,我们将重点介绍如何在 Kubernetes 中使用 RBAC。
2. 基于角色的访问控制(RBAC)
自 Kubernetes 1.6 起,RBAC 默认为启用状态。在 RBAC 中,管理员创建多个角色(Roles)或集群角色(ClusterRoles),这些角色定义了细粒度的权限,指定了角色可以访问和操作的资源和操作(动词)集合。然后,管理员通过角色绑定(RoleBinding)或集群角色绑定(ClusterRoleBindings)将角色权限授予用户。
不同环境下启用 RBAC 的操作如下:
- minikube :使用 minikube start 时添加 --extra-config=apiserver.Authorization.Mode=RBAC
超级会员免费看
订阅专栏 解锁全文
171

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



