K8S进阶实践 之 认证与授权

一、APIServer安全控制

根据K8S的拓扑图,整个集群的所有资源控制调度,均需通过apiserver进行控制与调度,例如用户通过kubectl访问apiserver,由apiserver进行身份认证与授权信息获取后,方可进行各种资源的创建管理调度。

K8S进阶实践  之   认证与授权

  • Authentication:身份认证,这个环节它面对的输入是整个http request,负责对来自client的请求进行身份校验,支持的方法包括:basic auth、client证书验证(https双向验证)、jwt token(用于serviceaccount)

  • Authorization:鉴权,你可以访问哪些资源,在较新版本kubeadm引导启动的k8s集群的apiserver初始配置中,authorization-mode的默认配置是”Node,RBAC”。

  • Admission Control:准入控制,一个控制链(层层关卡),用于拦截请求的一种方式。偏集群安全控制、管理方面。

二、kubectl访问apiserver的认证过程

1、kubectl请求数据的过程
K8S进阶实践  之   认证与授权

2、查看了解配置文件的信息
K8S进阶实践  之   认证与授权
K8S进阶实践  之   认证与授权

3、把第二段的公钥进行解码生成证书(用于判断当前的apiserver证书是否受信任)
K8S进阶实践  之   认证与授权

4、查看apiserver服务采用的根证书
K8S进阶实践  之   认证与授权

5、验证kubectl证书与apiserver根证的有效性
K8S进阶实践  之   认证与授权

三、kubectl访问apiserver的授权过程

1、在kubectl通过证书访问apiserver时,已带上相关用户群组授权信息
K8S进阶实践  之   认证与授权
2、资源权限授权情况
K8S进阶实践  之   认证与授权

猜你喜欢

转载自blog.51cto.com/12965094/2647907