Ch12 K8s Sec
Yang Haoran 10/24/2024 HuaweiCloud
# K8s 安全
# 集群准入机制详解

# K8s API 访问控制

- 分为认证,鉴权,控制三部分
# 控制(Admission controller)


# 认证
- 拿到什么证书的用户,就可以以什么样的身份访问k8s


# service account
- 在 Kubernetes(K8s)中,Service Account(服务账户)是一种用于为运行在集群中的进程(通常是 Pod 中的容器)提供身份标识的账户。它类似于传统操作系统中的用户账户,但专门用于在 K8s 环境中进行身份验证和授权。
- 访问 Kubernetes API: 服务账户的主要用途之一是允许 Pod 中的容器以安全的方式访问 Kubernetes API。例如,一个监控工具以 Pod 的形式运行在 K8s 集群中,它需要访问 Kubernetes API 来获取集群中各个资源(如节点状态、Pod 状态等)的信息。通过使用服务账户,这个监控工具可以进行身份验证并获得授权,以合法地获取所需的数据。
- 与其他资源交互: 除了访问 Kubernetes API,服务账户还可以用于与其他 K8s 资源进行交互。例如,在使用存储卷(Volume)时,某些存储提供商会要求进行身份验证。服务账户可以作为一种身份凭证,使 Pod 能够以授权的方式挂载和使用存储资源。






# 鉴权






# 示例
- 总结:比如我要创建一个deployment,那么我在其中的pod template中可以绑定一个service account,其中service account又可以通过多个role binding或者cluster role binding和多个 role绑定,其中每个role指定了对k8s中各种资源的操作权限。
