帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 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
中创建的条目而没有等效的访问条目,您的集群将无法正常运行。
先决条件
-
熟悉访问条目和访问策略。有关更多信息,请参阅使用 EKS 访问条目向 IAM 用户授予 Kubernetes 访问权限和将访问策略与访问条目关联起来。
-
一个平台版本等于或高于使用 EKS 访问条目向 IAM 用户授予 Kubernetes 访问权限主题中“先决条件”部分所列版本的现有版本。
-
您的设备或 AWS CloudShell 上安装
0.210.0
版或更高版本的eksctl
命令行工具。要安装或更新eksctl
,请参阅eksctl
文档中的 Installation。 -
用于修改
kube-system
命名空间中的aws-auth
ConfigMap
的 Kubernetes 权限。 -
具有以下权限的 AWS Identity and Access Management 角色或用户:
CreateAccessEntry
和ListAccessEntries
。有关更多信息,请参阅《服务授权参考》中的 Amazon Elastic Kubernetes Service 定义的操作。
eksctl
-
查看您的
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
-
为您创建的并在上一个输出中返回的任何
ConfigMap
条目创建访问条目。创建访问条目时,请确保为输出中返回的ARN
、USERNAME
、GROUPS
和ACCOUNT
指定相同的值。在此示例输出中,您将为除最后两个条目外的其他所有条目创建访问条目,因为最后两个条目是由 Amazon EKS 为 Fargate 配置文件和托管节点组创建的。 -
从
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