控制台创建EKS集群时Root及IAM用户无法传递EKS角色问题排查
问题分析与解决步骤
报错You are not allowed to pass the role arn:aws:iam::095370286149:role/EKS_Cluster_Role的核心原因是执行集群创建操作的身份(Root用户或IAM用户)缺少iam:PassRole权限,或者目标角色的信任策略未正确配置允许EKS服务扮演它。以下是具体排查和解决步骤:
1. 为操作身份添加iam:PassRole权限
- 若使用IAM用户操作:创建并附加包含以下权限的IAM策略到该用户:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::095370286149:role/EKS_Cluster_Role" }, { "Effect": "Allow", "Action": [ "eks:CreateCluster", "eks:DescribeCluster", "eks:ListClusters" ], "Resource": "*" } ] } - 若使用Root用户操作仍报错:检查是否存在AWS Organizations服务控制策略(SCP)限制了
iam:PassRole权限,需联系组织管理员确认并调整SCP规则。
2. 验证EKS集群角色的信任策略
确保EKS_Cluster_Role的信任策略允许EKS服务扮演该角色,正确的信任策略内容如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
- 进入IAM控制台,找到该角色,在信任关系标签页检查并更新策略。
3. 确认角色已附加必要的托管策略
确保EKS_Cluster_Role已附加AmazonEKSClusterPolicy托管策略,这是EKS集群角色所需的核心权限策略。
内容的提问来源于stack exchange,提问作者Skygazer
相关产品推荐
相关产品推荐

