我正在尝试在Windows中编写批处理文件,以通过CLI命令(actual example)执行以下步骤,但是我不知道如何创建角色并为“另一个AWS账户”角色设置cli命令类型。你介意帮我吗?
在左侧的导航窗格中,选择“角色”,然后选择 创建角色。
选择另一个AWS帐户角色类型。
对于帐户ID,输入开发帐户ID 。
本教程将示例帐户ID 111111111111用于 开发帐户。您应该使用有效的帐户ID。如果您使用 无效的帐户ID,例如111111111111,IAM不允许您创建 新角色。
目前,您不需要外部ID,也不需要用户 具有多因素身份验证(MFA)以承担角色。所以 保留未选中这些选项。有关更多信息,请参见使用 AWS中的多重身份验证(MFA)
选择下一步:权限来设置将要使用的权限 与角色相关联。
我的角色创建代码:
call aws iam create-role --role-name xxx-S3-Role --assume-role-policy-document file://trustpolicy.json
我的trustpolicy.json
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::222222075333:role/xxx-S3-Role"
}]
}
我收到以下错误消息:
An error occurred (MalformedPolicyDocument) when calling the CreateRole operation: Has prohibited field Resource
答案 0 :(得分:1)
我通过更改两个部分来解决我的问题。
1-通过确定策略路径
aws iam create-role --role-name xxx-S3-Role --assume-role-policy-document file://c:\foldername\trustpolicy.json
2-我通过反向工程从控制台创建的策略来更改策略的格式,格式如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::222222075333:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}