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

Mam*_*mun 5 amazon-web-services amazon-iam amazon-cognito

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

手动复制将是一件苦差事,而且不可重复。我想通过 CLI 或其他可重复方式的脚本制作副本。

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

任何帮助表示赞赏。

max*_*x_i 8

感谢@JohnRotenstein 指出了正确的方向。我想出了一个 Node.js 脚本来自动执行 IAM 角色复制过程。

它与使用的 AWS 开发工具包 API 一起执行的步骤:

  1. 获取源角色及其信任关系策略:getRole()
  2. 获取源角色的内联策略:listRolePolicies(),getRolePolicy()
  3. 获取源角色的托管策略(AWS 和客户创建的):listAttachedRolePolicies()
  4. 创建一个新角色,复制所有相关属性(包括信任策略):createRole()
  5. 将源角色中找到的所有内联策略添加到新角色:putRolePolicy()
  6. 附加源角色中的所有托管策略:attachRolePolicy()

该过程非常简单...唯一有趣的细节是步骤 2 和 3 需要递归获取以适应策略响应可以分页的事实。

如何制作 AWS IAM 角色的副本


Joh*_*ein 7

看来您需要使用:

然后创建一个新角色并使用:

信任关系也必须复制。

  • 为什么 AWS 使像这样的常见任务如此难以完成? (19认同)