一、概述
(1)访问k8s集群的时候,需要经过下面三个步骤完成具体操作。
-第一步:认证
-第二步:鉴权(授权)
-第三步:准入控制
(2)访问时,过程中都需要经过apiserver,它来做统一协调,访问过程中需要证书,token或用户名+密码,如果访问pod,需要ServiceAccount。
三个步骤详解
第一步:认证
-传输安全:对外不暴露8080端口,只能内部访问,对外使用6443安全端口。
-认证:客户端身份认证常用方式
*https证书认证,给予ca证书
*http token认证,通过token识别用户
*http基本认证、用户名+密码认证
第二步:鉴权(授权)
-基于RBAC进行鉴权操作
-基于角色访问控制
第三步:准入控制
-准备控制器的列表,列表有请求内容通过,没有则拒绝
二、RBAC 基于角色的访问控制
-角色
*role:特定命名空间访问权限
*ClusterRole:所有命名空间访问权限
-角色绑定
*roleBinding:角色绑定到主体
*ClusterRole:所有命名空间访问权限
-主体
*user:用户
*group:用户组
*ServiceAccount:服务账号