使用 AWS CLI 通过 Kubernetes 组创建访问条目 - Amazon EKS

帮助改进此页面

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

使用 AWS CLI 通过 Kubernetes 组创建访问条目

创建 Amazon EKS 访问条目,这些条目使用 Kubernetes 组进行授权且需要手动配置 RBAC。

注意

对于大多数使用案例,建议使用 EKS 访问策略,而不是本页介绍的 Kubernetes 组方法。EKS 访问策略提供了一种更简单、与 AWS 更集成的方式来管理访问权限,无需手动配置 RBAC。仅当您需要比 EKS 访问策略所提供之控制更精细的控制时,才可使用 Kubernetes 组方法。

概览

访问条目定义了 IAM 身份(用户和角色)如何访问 Kubernetes 集群。Kubernetes 组方法通过标准的 Kubernetes RBAC 组,向 IAM 用户或角色授予访问 EKS 集群的权限。此方法需要创建和管理 Kubernetes RBAC 资源(Roles、RoleBindings、ClusterRoles 和 ClusterRoleBindings),如果您需要高度自定义的权限集、复杂的授权要求或想要在混合 Kubernetes 环境中保持一致的访问控制模式,建议使用此方法。

本主题不介绍为用于 Amazon EC2 实例加入 EKS 集群的 IAM 身份创建访问条目。

先决条件

  • 必须将集群的身份验证模式配置为启用访问条目。有关更多信息,请参阅 更改身份验证模式以使用访问条目

  • 按照《AWS 命令行界面用户指南》的安装中所述,安装和配置 AWS CLI。

  • 建议熟悉 Kubernetes RBAC。有关更多信息,请参阅 Kubernetes 文档中的使用 RBAC 授权

步骤 1:定义访问条目

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

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

  2. 确定要与此 IAM 身份关联的 Kubernetes 组。

    • 您需要创建或使用引用了这些组的现有 Kubernetes Role/ClusterRoleRoleBinding/ClusterRoleBinding 资源。

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

步骤 2:通过 Kubernetes 组创建访问条目

规划好访问条目后,使用 AWS CLI 通过相应的 Kubernetes 组创建该条目。

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

进行如下替换:

  • <cluster-name> 替换为 EKS 集群名称

  • <iam-identity-arn> 替换为 IAM 用户或角色的 ARN

  • <groups> 替换为以逗号分隔的 Kubernetes 组列表(例如“system:developers,system:readers”)

查看 CLI 参考以了解所有配置选项

步骤 3:配置 Kubernetes RBAC

要让 IAM 主体能够访问集群上的 Kubernetes 对象,必须创建和管理 Kubernetes 基于角色的访问控制(RBAC)对象:

  1. 创建定义权限的 Kubernetes RoleClusterRole 对象。

  2. 在集群上创建 Kubernetes RoleBindingClusterRoleBinding 对象,将组名称指定为 kind: Groupsubject

有关在 Kubernetes 中配置组和权限的详细信息,请参阅 Kubernetes 文档中的使用 RBAC 鉴权

后续步骤