使用访问策略和 AWS CLI 为 IAM 角色或用户创建访问条目 - Amazon EKS

帮助改进此页面

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

使用访问策略和 AWS CLI 为 IAM 角色或用户创建访问条目

创建使用 AWS 托管的 EKS 访问策略的 Amazon EKS 访问条目,以向 IAM 身份授予访问和管理 Kubernetes 集群的标准化权限。

概览

Amazon EKS 中的访问条目定义了 IAM 身份(用户和角色)如何访问 Kubernetes 集群并与之交互。通过创建使用 EKS 访问策略的访问条目,您可以执行以下操作:

  • 向特定的 IAM 用户或角色授予访问 EKS 集群的权限

  • 使用 AWS 托管的 EKS 访问策略控制权限,这种策略提供标准化的预定义权限集

  • 将权限范围限定为特定的命名空间或集群范围

  • 无需修改 aws-auth ConfigMap 或创建 Kubernetes RBAC 资源即可简化访问管理

  • 使用 AWS 集成的 Kubernetes 访问控制方法,该方法涵盖常见使用案例,同时保持安全最佳实践

建议在大多数使用案例中使用此方法,因为其无需手动配置 Kubernetes RBAC 即可提供 AWS 托管的标准化权限。EKS 访问策略无需手动配置 Kubernetes RBAC 资源,并提供涵盖常见使用案例的预定义权限集。

先决条件

步骤 1:定义访问条目

  1. 找到要向其授予权限的 IAM 身份(例如用户或角色)的 ARN。

    • 每个 IAM 身份只能有一个 EKS 访问条目。

  2. 确定您希望 Amazon EKS 访问策略权限仅应用于特定的 Kubernetes 命名空间,还是应用于整个集群。

    • 如果要将权限限制为特定的命名空间,请记下命名空间名称。

  3. 为 IAM 身份选择所需的 EKS 访问策略。此策略会授予集群内权限。记下策略的 ARN。

  4. 确定自动生成的用户名是否适用于访问条目,或者是否需要手动指定用户名。

步骤 2:创建访问条目

规划好访问条目后,使用 AWS CLI 进行创建。

以下示例涵盖了大多数使用案例。查看 CLI 参考以了解所有配置选项

您将在下一步中附加访问策略。

aws eks create-access-entry --cluster-name <cluster-name> --principal-arn <iam-identity-arn> --type STANDARD

步骤 3:关联访问策略

根据您是否希望将策略限制为指定的 Kubernetes 命名空间,命令会有所不同。

您需要访问策略的 ARN。查看可用的访问策略

创建没有命名空间作用域的策略

aws eks associate-access-policy --cluster-name <cluster-name> --principal-arn <iam-identity-arn> --policy-arn <access-policy-arn>

创建具有命名空间作用域的策略

aws eks associate-access-policy --cluster-name <cluster-name> --principal-arn <iam-identity-arn> \ --access-scope type=namespace,namespaces=my-namespace1,my-namespace2 --policy-arn <access-policy-arn>

后续步骤