Kubernetes12:k8s集群安全机制
1、概述
1)访问一个k8s集群的时候,需要经过以下三个步骤才能完成具体操作
- 第一步:认证操作
- 第二部:鉴权操作(授权)
- 第三部:准入控制操作
2)进行访问的时候,在这个过程中都需要经过apiserver,apiserver做统一协调,比如门卫访问过程中需要证书、 token、或者用户名+密码如果访问pod还需要serverAccount
第一步认证 传输安全
- 传输安全:对外不暴露8080,只能内部访问,对外使用端口6446
- 认证
- 客户端身份认证常用方式
- https证书认证,基于ca证书
- http token认证,通过token识别用户
- http 基本认知 用户名+密码认证(安全性不高,一般使用以上两种方法)
第二步鉴权(授权)
- 基于RBAC进行鉴权操作
- 基于角色的访问控制
第二步准入控制
- 就是准入控制器的列表,如果列表中有你请求的内容就通过,没有就拒绝
2、RBAC- 基于角色的访问控制
角色
role:特定命名空间访问权限,对不同命名空间的资源进行隔离
ClusterRole:所有命名空间访问权限
角色绑定
roleBinding:角色绑定到主体上
ClusterRoleBingding:集群的角色绑定到主体
用户
user:用户
group:用户组
serviceAccout:服务账号
3、实际操作
1、创建命名空间
2、在新创建的命名空间中创建Pod
3、创建角色
4、创建角色绑定用户
5、使用证书来识别身份
制作与生成证书
https://blog.csdn.net/hzwy23/article/details/128084829