首页 文章

如何在CloudFormation模板中使用来自其他AWS账户的AssumeRole?

提问于
浏览
5

我正在尝试计算AWS CloudFormation模板的逻辑流程,该模板将承担IAM角色,该角色可以从另一个AWS账户中的S3存储桶中提取文件 .

到目前为止我所拥有的是:

  • accountA有一个角色A.

  • roleA的策略允许sts:AssumeRole用于accountB中的角色:arn:aws:iam :: 11122233444:role / AllowPullS3

  • accountB具有角色(AllowPullS3)

  • 策略允许:s3 listBucket get,put,delete

  • accountA的信任关系:行动:"sts:AssumeRole"

如果我使用IAM:roleA手动创建EC2实例,然后使用CLI获取假定角色凭据,则可以按预期从其他帐户的S3存储桶中提取文件 .

但是我需要在我的账户中放置一个CF模板,它将允许EC2实例承担roleB并从accountB S3存储桶中提取文件作为编队的一部分?

我已经尝试过很多教程如this cfn-iam:init tutorial,但仍然无法完全掌握哪些内容 .

谢谢你的建议 .

艺术

1 回答

  • 1

    无法告诉CloudFormation承担另一个角色 .

    但是,如果您有一个适用于Amazon EC2实例的CLI脚本/命令,那么只需将该脚本作为用户数据传递即可 . 您的实例启动时脚本将运行 . 用户数据可以在您的CloudFormation模板中传递,其中定义了EC2实例 .

    见:Running Commands on Your Linux Instance at Launch

相关问题