帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 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 角色)不会自动迁移。要解决此问题,请手动创建相应的访问条目。
开始使用
-
确定您要使用的 IAM 身份和访问策略。
-
在集群上启用 EKS 访问条目。确认您有受支持的平台版本。
-
创建一个访问条目,将某个 IAM 身份与 Kubernetes 权限关联起来。
-
使用该 IAM 身份向集群进行身份验证。