使用 EKS 访问条目向 IAM 用户授予 Kubernetes 访问权限 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

使用 EKS 访问条目向 IAM 用户授予 Kubernetes 访问权限

本节旨在向您展示如何使用访问条目和策略管理 IAM 主体对 Amazon Elastic Kubernetes Service(EKS)中 Kubernetes 集群的访问权限。您将找到有关更改身份验证模式;从旧版 aws-auth ConfigMap 条目迁移;创建、更新和删除访问条目;将策略与条目关联;查看预定义策略权限,以及安全访问管理的关键先决条件和注意事项的详细信息。

概览

EKS 访问条目是向用户授予 Kubernetes API 访问权限的最佳方式。例如,您可以使用访问条目向开发人员授予使用 kubectl 的权限。从根本上讲,EKS 访问条目会将一组 Kubernetes 权限与某个 IAM 身份(例如 IAM 角色)关联起来。例如,开发人员可以担任某个 IAM 角色并使用该角色对 EKS 集群进行身份验证。

特征

  • 集中式身份验证和授权:直接通过 Amazon EKS API 控制对 Kubernetes 集群的访问,无需在 Amazon 和 Kubernetes API 之间切换即可获得用户权限。

  • 精细权限管理:使用访问条目和策略为 Amazon IAM 主体定义精细权限,包括修改或撤销创建者的集群管理员访问权限。

  • IaC 工具集成:支持 Amazon CloudFormation、Terraform 和 Amazon CDK 等基础设施即代码工具,以便在集群创建期间定义访问配置。

  • 错误配置恢复:允许通过 Amazon EKS API 恢复集群访问权限,而无需直接访问 Kubernetes API。

  • 降低开销并增强安全性:集中运营以降低开销,同时利用 Amazon IAM 功能(如 CloudTrail 审计日志和多重身份验证)提升安全性。

如何附加权限

您可以通过两种方式将 Kubernetes 权限附加到访问条目:

  • 使用访问策略。访问策略是由 Amazon 维护的预定义 Kubernetes 权限模板。有关更多信息,请参阅 检查访问策略权限

  • 引用 Kubernetes 组。如果您将某个 IAM 身份与某个 Kubernetes 组关联,则可以创建向该组授予权限 Kubernetes 资源。有关更多信息,请参阅 Kubernetes 文档中的使用 RBAC 授权

注意事项

在现有集群上启用 EKS 访问条目时,请注意以下事项:

  • 旧版集群行为:对于在引入访问条目之前创建的集群(初始平台版本早于平台版本要求中指定的版本),EKS 会自动创建一个反映先前已存在权限的访问条目。此条目包括最初创建集群的 IAM 身份以及在创建集群期间授予该身份的管理权限。

  • 处理旧版 aws-auth ConfigMap:如果您的集群依赖旧版 aws-auth ConfigMap 进行访问管理,则启用访问条目后,仅自动创建原始集群创建者的访问条目。添加到 ConfigMap 的其他角色或权限(例如,开发人员或服务的自定义 IAM 角色)不会自动迁移。要解决此问题,请手动创建相应的访问条目。

开始使用

  1. 确定您要使用的 IAM 身份和访问策略。

  2. 在集群上启用 EKS 访问条目。确认您有受支持的平台版本。

  3. 创建一个访问条目,将某个 IAM 身份与 Kubernetes 权限关联起来。

  4. 使用该 IAM 身份向集群进行身份验证。