Kubernetes 授权模块与最佳实践全解析
1. 授权模块概述
在 Kubernetes 环境中,授权模块起着关键作用,它负责决定是否授予对资源的访问权限。这些模块依据明确的策略来判断是否允许访问,如果未明确定义策略,所有请求将被隐式拒绝。自 1.15 版本起,Kubernetes 自带了以下几种授权模块:
- Attribute-Based Access Control (ABAC) :允许通过本地文件配置授权策略。
- RBAC :可通过 Kubernetes API 配置授权策略。
- Webhook :允许通过远程 REST 端点处理请求的授权过程。
- Node :专门用于授权来自 kubelets 的请求。
集群管理员可通过 API 服务器上的 --authorization-mode 标志来配置这些模块,并且可以配置多个模块,它们将按顺序进行检查。与准入控制器不同的是,只要有一个授权模块允许请求,该请求就可以继续执行;只有当所有模块都拒绝请求时,才会向用户返回错误。
2. 各授权模块详细介绍
2.1 ABAC
ABAC 允许通过本地文件配置授权策略。以下是一个使用 ABAC 授权模块的策略定义示例,该策略授予用户 Mary 对 kube-system 命名空间中 Pod 的只读访问权限:
a
超级会员免费看
订阅专栏 解锁全文
204

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



