帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 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 资源,并提供涵盖常见使用案例的预定义权限集。
先决条件
-
必须将集群的身份验证模式配置为启用访问条目。有关更多信息,请参阅 更改身份验证模式以使用访问条目。
-
按照《AWS 命令行界面用户指南》的安装中所述,安装和配置 AWS CLI。
步骤 1:定义访问条目
-
找到要向其授予权限的 IAM 身份(例如用户或角色)的 ARN。
-
每个 IAM 身份只能有一个 EKS 访问条目。
-
-
确定您希望 Amazon EKS 访问策略权限仅应用于特定的 Kubernetes 命名空间,还是应用于整个集群。
-
如果要将权限限制为特定的命名空间,请记下命名空间名称。
-
-
为 IAM 身份选择所需的 EKS 访问策略。此策略会授予集群内权限。记下策略的 ARN。
-
有关策略列表,请参阅可用的访问策略。
-
-
确定自动生成的用户名是否适用于访问条目,或者是否需要手动指定用户名。
-
AWS 会根据 IAM 身份自动生成此值。您可以设置自定义用户名。这会显示在 Kubernetes 日志中。
-
有关更多信息,请参阅 为 EKS 访问条目设置自定义用户名。
-
步骤 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>