Kubernetes集群的安全机制

集群的安全性须要考虑如下几个目标:安全

一、保证容器与其所在宿主机的隔离server

二、限制容器给基础设施及其余容器带来的消极影响的能力对象

三、最小权限原则——合理限制全部组件的权限,确保组件只执行它被受权的行为进程

四、明确组件间边界的划分资源

五、划分普通用户和管理员用户io

六、在必要的时候容许将管理员权限赋给普通用户集群

七、容许拥有Secret数据的应用在集群中运行容器

1、API Server认证基础

集群全部资源的访问和变动都是经过K8S API来实现的,因此集群安全的关键点就是如何识别并认证客户端的身份,以及认证后的受权问题。配置

K8S集群提供了3中级别的客户端身份认证:

1)、最严格的的HTTPS双向证书认证;

2)、HTTP Token认证,经过Token识别合法用户

3)、HTTP Base认证,经过用户名+密码的方式认证

2、API Server 受权

分一下集中受权策略:

1)、AlwaysDeny:拒绝全部请求

2)、AlwaysAllow:接收全部请求

3)、ABAC:基于属性的访问控制,使用用户配置的受权策略匹配用户的请求,受权策略有如下四种属性:

  • 用户名
  • 是否只读请求
  • 被访问哪一类资源
  • 被访问对象所属的NameSpace

API Server启用ABAC模式时,须要制定受权文件,受权文件里的每一行都是Map类型的JSON对象,称为“访问策略对象”。

3、Admission Control准入控制

Admission Control有一个准入控制列表,发送给API server的任何请求都须要经过准入列表的检查。

4、Service Account

Service Account为运行在Pod里的进程使用。

相关文章
相关标签/搜索