如何通过cli命令使用“另一个AWS账户”角色类型创建“角色”?

时间:2020-03-15 04:29:42

标签: amazon-web-services amazon-iam user-roles

我正在尝试在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 个答案:

答案 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": {}
        }
    ]
}