繁体   English   中英

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

[英]how to create "role" with "Another AWS account" role type by cli command?

我正在尝试在 Windows 中编写一个批处理文件,以通过 CLI 命令( 实际示例)执行以下步骤,但我不知道如何为“另一个 AWS 帐户”角色类型创建角色和设置 cli 命令。 你介意帮我吗?

在左侧导航窗格中,选择角色,然后选择创建角色

选择另一个 AWS 账户角色类型。

对于 Account ID,键入Development account ID

本教程使用示例帐户 ID 111111111111 作为开发帐户。 您应该使用有效的帐户 ID。 如果您使用无效的账户 ID,例如 111111111111,则 IAM 不允许您创建新角色。

目前,您不需要外部 ID,也不需要用户进行多重身份验证 (MFA) 来承担该角色。 所以不要选择这些选项。 有关更多信息,请参阅在 AWS 中使用多重身份验证 (MFA)

选择 Next: Permissions 以设置将与角色关联的权限。

我创建角色的代码:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM