我正在尝试在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
我通过更改两个部分来解决我的问题。
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": {}
}
]
}