如何更换AWS EKS集群API调用所用的个人AWS Access Key?
更换EKS集群API调用使用的Access Key步骤
核心说明
EKS集群正常运行的API调用应当使用专用的IAM服务角色,而非个人Access Key。以下是替换的具体步骤:
1. 创建EKS集群专用IAM服务角色
如果还没有为集群配置专用服务角色,先创建一个:
- 编写信任策略文件
trust-policy.json,内容如下:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } - 执行CLI命令创建角色:
aws iam create-role --role-name eks-cluster-service-role --assume-role-policy-document file://trust-policy.json - 附加EKS集群所需的托管权限策略:
aws iam attach-role-policy --role-name eks-cluster-service-role --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy
2. 更新EKS集群的服务角色
将集群的服务角色替换为新创建的专用角色:
- 执行CLI命令更新集群配置,替换
your-cluster-name和your-account-id为实际值:aws eks update-cluster-config --name your-cluster-name --role-arn arn:aws:iam::your-account-id:role/eks-cluster-service-role - 等待集群更新完成,可通过以下命令检查状态,直到
status字段变为ACTIVE:aws eks describe-cluster --name your-cluster-name
3. 验证身份变更
等待5-10分钟后,查看CloudTrail日志,确认后续的EKS API调用已切换为使用新的服务角色,而非原个人Access Key。
4. 作废原个人Access Key(确认生效后操作)
登录AWS IAM控制台,找到原创建者的用户账号,进入「安全凭证」标签页,定位到对应的Access Key,点击「作废」即可。
特殊情况处理
如果API调用是由节点发起(而非集群控制平面),则需要:
- 创建EKS节点专用IAM实例角色,附加
AmazonEKSWorkerNodePolicy、AmazonEC2ContainerRegistryReadOnly等托管策略 - 重新创建节点组并使用新的实例角色,替换使用个人AK的旧节点
内容的提问来源于stack exchange,提问作者Strelok
相关产品推荐
相关产品推荐

