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(权限):访问权限
- 用户-角色映射:用户和角色之间的映射关系
- 角色-权限映射:角色和权限之间的映射