Amazon web services 需要制作AWS IAM角色的相同副本(包括其拥有的策略和信任关系)

Amazon web services 需要制作AWS IAM角色的相同副本(包括其拥有的策略和信任关系),amazon-web-services,amazon-cognito,amazon-iam,Amazon Web Services,Amazon Cognito,Amazon Iam,我有一个IAM角色(有许多政策和信任关系)。我在构建AWS Cognito用户池时使用了它。但是,此IAM角色将很快被删除 手动复制将是一项繁琐的工作,而且不可重复。我想通过CLI或其他可重复方式的脚本进行复制 到目前为止,我已经通过stackoverflow和google进行了搜索,但没有找到任何相关内容 非常感谢您的帮助。如果Python是一个选项,那么boto3可能会有所帮助(AWS的Python SDK) 创建角色: 创建策略: 更多: 看起来您需要使用: 获取附加到角色的内联策略

我有一个IAM角色(有许多政策和信任关系)。我在构建AWS Cognito用户池时使用了它。但是,此IAM角色将很快被删除

手动复制将是一项繁琐的工作,而且不可重复。我想通过CLI或其他可重复方式的脚本进行复制

到目前为止,我已经通过stackoverflow和google进行了搜索,但没有找到任何相关内容


非常感谢您的帮助。

如果Python是一个选项,那么boto3可能会有所帮助(AWS的Python SDK)

创建角色:

创建策略:

更多:

看起来您需要使用:

  • 获取附加到角色的内联策略的名称
  • 要检索内联策略
  • 列出附加到角色的托管策略的步骤
然后创建一个新角色并使用:

  • 要附加内联策略
  • 要附加托管策略

    • 感谢@JohnRotenstein为我们指明了正确的方向。我提出了一个Node.js脚本来自动化IAM角色复制过程

      它与使用的AWS SDK API一起执行的步骤:

    • 获取源角色及其信任关系策略:
      getRole()
    • 获取源角色的内联策略:
      listRolePolicies()
      getRolePolicy()
    • 获取源角色(AWS和客户创建的)的托管策略:
      ListAttachedRolePolicys()
    • 创建一个新角色,复制所有相关属性(包括信任策略):
      createRole()
    • 将在源角色中找到的所有内联策略添加到新角色:
      putRolePolicy()
    • 从源角色附加所有托管策略:
      attachRolePolicy()
    • 这个过程非常简单。。。唯一有趣的细节是步骤2和3需要递归获取,以适应策略响应可以分页的事实


      .

      为什么AWS让像这样的普通任务如此难以完成?