AWS组用户不允许担任角色-访问被拒绝



我有一个用户,我正试图模拟一个在Kubernetes上运行服务的角色。然而,当我尝试使用STS来承担这个角色时,我得到了以下错误:

$ aws sts assume-role --role-arn "arn:aws:iam::{ACCOUNT_ID}:role/service-myservice" --role-session-name AWSCLI-Session
An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:iam::{ACCOUNT_ID}:user/me is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::{ACCOUNT_ID}:role/service-myservice

我觉得这很奇怪,因为这个用户属于一个附加了AdministratorAccess权限的用户组,这应该会让它访问AWS上的任何内容。这就是:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
}

那么,我在这里做错了什么?

这里有附加到此用户的IAM策略,也就是说,此用户可以做什么。

您还需要设置"信任关系"。这定义了哪些资源或主体能够使用此角色/用户。可能是Lambda、EC2,或者在您的情况下:IAM用户。

例如,请参见此处。

您要承担的IAM用户/角色(在这种情况下,即角色(必须具有以下信任关系:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<account_id>:role/<role_name>
},
"Action": "sts:AssumeRole"
}
]
}

最新更新