未被授权对资源执行:sts:AsseumeRole



我正在尝试使用kubectl来处理从其他用户创建的EKS集群。我按照文档中的不同说明使用命令aws eks --region eu-central-1 update-kubeconfig --name internal --role-arn arn:aws:iam::xxxxxxxxxx:role/eks_role_internal创建了kube配置文件。

然后,当我尝试测试配置(kubectl get svc(时,我得到了错误:

could not get token: AccessDenied: User: arn:aws:iam::xxxxxxxxxxxx:user/me is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::xxxxxxxxxxxxx:role/eks_role_internal

以下是策略的配置:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::xxxxxxxxxxx:role/eks_role_internal"
}
]
}

与角色的信任关系:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"eks.amazonaws.com",
"ec2.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}

获得此错误消息的第一个原因是在将要承担的角色上配置错误的Trusted relationship

当拥有MFA的信任关系中的附加条件没有得到满足时,我也看到了这个错误:

"Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}}

AWScli不够聪明,无法看到这种情况并询问MFA代码,它只是抛出了错误消息。

相关内容

  • 没有找到相关文章

最新更新