Kubernetes集群的安全机制
2024-08-30 21:33:42
集群的安全性需要考虑以下几个目标:
1、保证容器与其所在宿主机的隔离
2、限制容器给基础设施及其他容器带来的消极影响的能力
3、最小权限原则——合理限制所有组件的权限,确保组件只执行它被授权的行为
4、明确组件间边界的划分
5、划分普通用户和管理员用户
6、在必要的时候允许将管理员权限赋给普通用户
7、允许拥有Secret数据的应用在集群中运行
一、API Server认证
集群所有资源的访问和变更都是通过K8S API来实现的,所以集群安全的关键点就是如何识别并认证客户端的身份,以及认证后的授权问题。
K8S集群提供了3中级别的客户端身份认证:
1)、最严格的的HTTPS双向证书认证;
2)、HTTP Token认证,通过Token识别合法用户
3)、HTTP Base认证,通过用户名+密码的方式认证
二、API Server 授权
分一下集中授权策略:
1)、AlwaysDeny:拒绝所有请求
2)、AlwaysAllow:接收所有请求
3)、ABAC:基于属性的访问控制,使用用户配置的授权策略匹配用户的请求,授权策略有以下四种属性:
- 用户名
- 是否只读请求
- 被访问哪一类资源
- 被访问对象所属的NameSpace
API Server启用ABAC模式时,需要制定授权文件,授权文件里的每一行都是Map类型的JSON对象,称为“访问策略对象”。
三、Admission Control准入控制
Admission Control有一个准入控制列表,发送给API server的任何请求都需要通过准入列表的检查。
四、Service Account
Service Account为运行在Pod里的进程使用。
最新文章
- 分形之概率学下的green tree
- pb将datawindow数据导出EXCEL
- Shell expr的用法 bc 命令 let命令
- 学习笔记-记ActiveMQ学习摘录与心得(二)
- vijosP1014 旅行商简化版
- cdoj 秋实大哥与战争
- How to use dt.Rows.Cast<;System.Data.DataRow>;().Take(n)
- 针对Mac的DuckHunter攻击演示
- Mysql 一次性备份导出/导入恢复所有数据库
- 《java入门第一季》之面向对象(抽象类到底多抽象)
- .Net Core中利用TPL(任务并行库)构建Pipeline处理Dataflow
- J.U.C-三剑客[semaphore\CyclicBarrier\CountDownLatch]
- 3.RNN推导
- OpenStack-Neutron-Fwaas-代码【一】
- zabbix通过agent添加监控项的步骤
- IO 流读取文件时候出现乱码 文件编码格式问题 怎么转换解决方法
- Linux安装solr
- jsp/servlet页面跳转丢失样式问题
- Google之路
- [多线程]线程基础(对象锁、class锁、同步、异步)