0、导读
每一个用户对API资源进行操作都需要通经过以下三个步骤:
- 第一步:对客户端访问进行认证操作,确认是否具有访问k8s权限(也就是通过serviceaccount)
token(共享秘钥)
SSL(双向SSL认证)
…通过任何一个认证即表示认证通过,进入下一步 - 第二步:授权检查,确认是否对资源具有相关的权限
ABAC(基于属性的访问控制)
RBAC(基于角色的访问控制)
NODE(基于节点的访问控制)
WEB HOOK(自定义HTTP回调方法的访问控制) - 第三步:准入控制(对操作资源相关联的其他资源是否有权限操作)
1、基本概念
-
RBAC(Role-Based Access Control,基于角色的访问控制)是一种基于企业内个人用户的角色来管理对计算机或网络资源的访问方法,其在Kubernetes 1.5版本中引入,在1.6时升级为Beta版本,并成为Kubeadm安装方式下的默认选项。启用RBAC需要在启动APIServer时指定–authorization-mode=RBAC。
-
RBAC使用rbac.authorization.k8s.io API组来推动授权决策,允许管理员通过Kubernetes API动态配置策略。
</