本章讲解知识点
-
- API Server 认证管理
-
- API Server 授权管理
-
- Admission Control
1. API Server 认证管理
我们知道,Kubernetes 集群中所有资源的访问和变更都是通过 Kubernetes API Server 的 REST API 实现的,所以集群安全的关键点就在于如何识别并认证客户端身份,以及随后访问权限的授权这两个关键问题。
Kubernetes 集群有两种用户账号:第 1 种是集群内部的 Service Account;第 2 种是外部用的账号,可能是某个运维人员或外部应用的账号。Kubernetes 集群并不支持常规的个人账号,但拥有被 Kubernetes 集群的 CA 证书签名的有效证书,个人用户就可被授权访问 Kubernetes 集群了。
Kubernetes 集群提供了以下用户身份认证方式。
- HTTPS 证书认证:基于 CA 根证书签名的双向数字证书认证方式。
- HTTP Bearer Token 认证:通过一个 Token 识别合法用户。
- 第三方认证。
- Webhook Token 认证:通过外部 Webhook 服务进行认证。
- Authenticating Proxy 认证:通过认证代理程序进行认证。
我们只讲最重要的 HTTPS 证书认证。
这里需要有一个 CA 证书,CA 是