将现有 aws-auth ConfigMap 条目迁移至访问条目 - Amazon EKS

帮助改进此页面

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

将现有 aws-auth ConfigMap 条目迁移至访问条目

如果您已向集群的 aws-auth ConfigMap 中添加了条目,我们建议您为 aws-auth ConfigMap 中的现有条目创建访问条目。创建访问条目后,您可以从 ConfigMap 中移除这些条目。不能将访问策略关联到 aws-auth ConfigMap 中的条目。如果您想将访问策略与您的 IAM 主体相关联,请创建访问条目。

重要
  • 当集群处于 API_AND_CONFIGMAP 身份验证模式并且在 aws-auth ConfigMap 和访问条目中都存在同一 IAM 角色的映射时,该角色将使用访问条目的映射进行身份验证。对于同一 IAM 主体,访问条目优先于 ConfigMap 条目。

  • 在移除 Amazon EKS 为托管节点组创建的现有 aws-auth ConfigMap 条目或集群的 Fargate 配置文件之前,请仔细检查您的 Amazon EKS 集群中是否存在这些特定资源的正确访问条目。如果您移除 Amazon EKS 在 ConfigMap 中创建的条目而没有等效的访问条目,您的集群将无法正常运行。

先决条件

eksctl

  1. 查看您的 aws-auth ConfigMap 中的现有条目。将 my-cluster 替换为您的集群的名称。

    eksctl get iamidentitymapping --cluster my-cluster

    示例输出如下。

    ARN                                                                                             USERNAME                                GROUPS                                                  ACCOUNT
    arn:aws:iam::111122223333:role/EKS-my-cluster-Admins                                            Admins                                  system:masters
    arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers                              my-namespace-Viewers                    Viewers
    arn:aws:iam::111122223333:role/EKS-my-cluster-self-managed-ng-1                                 system:node:{{EC2PrivateDNSName}}       system:bootstrappers,system:nodes
    arn:aws:iam::111122223333:user/my-user                                                          my-user
    arn:aws:iam::111122223333:role/EKS-my-cluster-fargateprofile1                                   system:node:{{SessionName}}             system:bootstrappers,system:nodes,system:node-proxier
    arn:aws:iam::111122223333:role/EKS-my-cluster-managed-ng                                        system:node:{{EC2PrivateDNSName}}       system:bootstrappers,system:nodes
  2. 为您创建的并在上一个输出中返回的任何 ConfigMap 条目创建访问条目。创建访问条目时,请确保为输出中返回的 ARNUSERNAMEGROUPSACCOUNT 指定相同的值。在此示例输出中,您将为除最后两个条目外的其他所有条目创建访问条目,因为最后两个条目是由 Amazon EKS 为 Fargate 配置文件和托管节点组创建的。

  3. ConfigMap 中删除您创建的任何访问条目对应的条目。如果您不从 ConfigMap 中删除条目,则 IAM 主体 ARN 的访问条目设置将覆盖 ConfigMap 条目。将 111122223333 替换为您的 AWS 账户 ID,将 EKS-my-cluster-my-namespace-Viewers 替换为您的 ConfigMap 中相应条目的角色名称。如果您要移除的条目是用于 IAM 用户而不是 IAM 角色的,请将 role 替换为 user,将 EKS-my-cluster-my-namespace-Viewers 替换为用户名。

    eksctl delete iamidentitymapping --arn arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers --cluster my-cluster