十四 用户权限系统
在 k8s 中的用户权限系统是使用 RBAC 模式的,RBAC 是 Role-Based AC 的缩写,全称:基于角色的访问控制。
我们可以让一个用户扮演一个角色,而这个角色拥有权限,而这个用户就拥有了这个权限,所以在 RBAC 中,用户授权就是授权某个角色。
- 通过 rolebinding 去 bind clusterrole 的好处
14.1 权限列表
14.2 创建 Role
14.3 创建 rolebinding
- 使用 rolebinding 对象创建,用户与 role 的绑定
14.4 创建 clusterrole
- 系统内置有非常多的 clusterrole,详见:kubectl get clusterrole
14.5 创建 clusterrolebinding
14.6 rolebinding 与 clusterrole
如果使用 rolebinding 绑定一个 clusterrole ,由于 clusterrole 拥有所有名称空间的权限,而 rolebinding 只能绑定当前名称空间,那么就省去为每个名称空间都新建一个 role 的过程了。
- 测试用户是否拥有 get 权限,由于使用了 rolebinding ,所以 cluster-reader 被限制到当前命名空间
14.7 RBAC授权
在 bind 授权的时候,可以绑定的用户主体有:user、group
- 使用 rolebinding 和 clusterrolebinding 绑定
- 创建用户时候加入组,加入组后账户自动集成该组的权限