

 **帮助改进此页面** 

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

# 使用 EKS 访问条目向 IAM 用户授予 Kubernetes 访问权限
<a name="access-entries"></a>

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

## 概览
<a name="_overview"></a>

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

## 特征
<a name="_features"></a>
+  **集中式身份验证和授权**：直接通过 Amazon EKS API 控制对 Kubernetes 集群的访问，无需在 Amazon 和 Kubernetes API 之间切换即可获得用户权限。
+  **精细权限管理**：使用访问条目和策略为 Amazon IAM 主体定义精细权限，包括修改或撤销创建者的集群管理员访问权限。
+  **IaC 工具集成**：支持 Amazon CloudFormation、Terraform 和 Amazon CDK 等基础设施即代码工具，以便在集群创建期间定义访问配置。
+  **错误配置恢复**：允许通过 Amazon EKS API 恢复集群访问权限，而无需直接访问 Kubernetes API。
+  **降低开销并增强安全性**：集中运营以降低开销，同时利用 Amazon IAM 功能（如 CloudTrail 审计日志和多重身份验证）提升安全性。

## 如何附加权限
<a name="_how_to_attach_permissions"></a>

您可以通过两种方式将 Kubernetes 权限附加到访问条目：
+ 使用访问策略。访问策略是由 Amazon 维护的预定义 Kubernetes 权限模板。有关更多信息，请参阅 [检查访问策略权限](access-policy-permissions.md)。
+ 引用 Kubernetes 组。如果您将某个 IAM 身份与某个 Kubernetes 组关联，则可以创建向该组授予权限 Kubernetes 资源。有关更多信息，请参阅 Kubernetes 文档中的[使用 RBAC 授权](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)。

## 注意事项
<a name="_considerations"></a>

在现有集群上启用 EKS 访问条目时，请注意以下事项：
+  **旧版集群行为**：对于在引入访问条目之前创建的集群（初始平台版本早于[平台版本要求](https://docs.amazonaws.cn/eks/latest/userguide/platform-versions.html)中指定的版本），EKS 会自动创建一个反映先前已存在权限的访问条目。此条目包括最初创建集群的 IAM 身份以及在创建集群期间授予该身份的管理权限。
+  **处理旧版 `aws-auth` ConfigMap**：如果您的集群依赖旧版 `aws-auth` ConfigMap 进行访问管理，则启用访问条目后，仅自动创建原始集群创建者的访问条目。添加到 ConfigMap 的其他角色或权限（例如，开发人员或服务的自定义 IAM 角色）不会自动迁移。要解决此问题，请手动创建相应的访问条目。

## 开始使用
<a name="_get_started"></a>

1. 确定您要使用的 IAM 身份和访问策略。
   +  [检查访问策略权限](access-policy-permissions.md) 

1. 在集群上启用 EKS 访问条目。确认您有受支持的平台版本。
   +  [更改身份验证模式以使用访问条目](setting-up-access-entries.md) 

1. 创建一个访问条目，将某个 IAM 身份与 Kubernetes 权限关联起来。
   +  [创建访问条目](creating-access-entries.md) 

1. 使用该 IAM 身份向集群进行身份验证。
   +  [设置 Amazon CLI](install-awscli.md) 
   +  [设置 `kubectl` 和 `eksctl`](install-kubectl.md) 