将现有 aws-auth ConfigMap
条目迁移至访问条目
如果您已向集群的 aws-auth
ConfigMap
中添加了条目,我们建议您为 aws-auth
ConfigMap
中的现有条目创建访问条目。创建访问条目后,您可以从 ConfigMap
中移除这些条目。您无法将将访问策略与访问条目关联起来访问策略与 aws-auth
ConfigMap
中的条目关联起来。如果您想将访问策略与您的 IAM 主体相关联,请创建访问条目。
重要
不要移除在您向集群添加使用托管式节点组简化节点生命周期托管节点组或 定义启动时将使用 AWS Fargate 的PodsFargate 配置文件时由 Amazon EKS 创建的现有 aws-auth
ConfigMap
条目。如果您移除 Amazon EKS 在 ConfigMap
中创建的条目,您的集群将无法正常运行。但是,您可以在为使用自行管理型节点来自行维护节点自行管理的节点组创建访问条目后移除这些节点组对应的任何条目。
-
熟悉访问条目和访问策略。有关更多信息,请参阅使用 EKS 访问条目向 IAM 用户授予对 Kubernetes 的访问权限 和将访问策略与访问条目关联起来。
-
一个现有集群,其平台版本等于或高于使用 EKS 访问条目向 IAM 用户授予对 Kubernetes 的访问权限“允许 IAM 角色或用户访问您的 Amazon EKS 集群上的 Kubernetes 对象”主题的“先决条件”中列出的版本。
-
您的设备或 AWS CloudShell 上安装
0.194.0
版或更高版本的eksctl
命令行工具。要安装或更新eksctl
,请参阅eksctl
文档中的 Installation。 -
用于修改
kube-system
命名空间中的aws-auth
ConfigMap
的 Kubernetes 权限。 -
具有以下权限的 AWS Identity and Access Management 角色或用户:
CreateAccessEntry
和ListAccessEntries
。有关更多信息,请参阅《服务授权参考》中的 Amazon Elastic Kubernetes Service 定义的操作。-
查看您的
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
-