# 1.概述 ## 1.访问K8S集群时候,需要经过三个步骤完成具体操作 第一步 认证 ---门卫 传输安全:对外不暴露8080端口,只能内部访问,对外使用端口6443 客户端身份认证常用方式: * https证书认证,基于ca证书 * http token认证,通过token(令牌)识别用户 * http基本认证,用户名+密码 第二步 鉴权(授权) ---权限 * 基于RBAC进行鉴权操作 * 基于角色访问控制 第三步 准入控制 ---是否存在相关资源 * 准入控制器列表,如果列表有请求内容,通过,没有则拒绝 ## 2.进行访问时候,过程中都需要经过api.service api.service统一协调, 访问过程中需要授权,证书,或者用户名密码 如果访问pod需要ServiceAccount(服务账号) * Service Account为Pod中的进程和外部用户提供身份信息 # 2.RBAC ## 1.RBAC是什么? RBAC 是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。 ## 2.RBAC名词 * User(用户):每个用户都有唯一的UID识别,并被授予不同的角色 * Role(角色):不同角色具有不同的权限 * Permission(权限):访问权限 * 用户-角色映射:用户和角色之间的映射关系 * 角色-权限映射:角色和权限之间的映射 ![image-20210701163336651](../../照片/image-20210701163336651.png)