我正在尝试按照How can I allow a Group to assume a Role?中的说明进行操作,但是在尝试切换角色时遇到以下错误:
一个或多个字段中的信息无效。检查您的信息或与管理员联系。
在这种情况下,我有三个example ids
的AWS账户
000000000001
000000000002
000000000003
主帐户所在的组织包含生产者帐户和开发者帐户
我想做的是在主帐户上设置一组IAM用户,并允许他们登录并在两个子帐户中的任何一个之间切换,而不是强迫每个人分别进行三个登录。
CompanyMain
帐户上所做的所有事情:创建用于访问产品帐户的角色
将可信实体设置为“另一个AWS账户”
将权限策略设置为AdministratorAccess
因此,当我转到“角色”>“信任关系”>“显示策略文档”时-如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::000000000002:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
名称为“ company-prod-admin”,因此ARN如下所示:
arn:aws:iam::000000000001:role/company-prod-admin
此链接还附带用于切换角色的链接,如下所示:
https://signin.aws.amazon.com/switchrole?roleName=company-prod-admin&account=000000000001
创建策略以承担此角色
服务:STS
动作:AssumeRole
角色ARN:arn:aws:iam::000000000001:role/company-prod-admin
政策文件如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::000000000002:root"
}
]
}
创建管理员组
在名为admin
的主帐户上创建一个组,并附加我们刚刚创建的策略
创建IAM用户
在主帐户上创建用户并将其放置在admin
组中
我现在可以使用IAM用户的主要帐户登录
在这里,我想通过使用角色链接或转到https://signin.aws.amazon.com/switchrole并输入帐户/角色信息来切换角色
但是,我收到以下信息无效的错误
如何创建跨组织的角色?对于三个帐户之间的角色/权限需要在哪里起源,我有些困惑,但是理想情况下,我希望有人可以登录整个组织的一组权限。
答案 0 :(得分:0)
如果您希望能够从 CompanyMain 访问 CompanyProd,您需要以相反的方式执行 IAM 策略,那么您需要在 CompanyProd 中创建一个 IAM 策略,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::000000000001:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
接下来,您登录 MainCompany 并切换角色。 在 Account 中,你写 000000000002,在 Role 字段中你写 root。