我正在尝试计算 AWS CloudFormation 模板的逻辑流程,该模板将承担一个 IAM 角色,可以从另一个 AWS 账户的 S3 存储桶中提取文件。
到目前为止我所拥有的是:
- 账户A有一个角色A
- roleA 的政策允许 sts:AssumeRole 在 accountB :arn:aws:iam::11122233444:role/AllowPullS3 中使用角色
- accountB 具有角色 (AllowPullS3)
- 策略允许:s3 listBucket + get、put、delete
- accountA 的信任关系:Action:"sts:AssumeRole"
如果我使用 IAM:roleA 手动创建 EC2 实例,然后使用 CLI 获取假定角色凭据,则我可以按预期从其他账户的 S3 存储桶中提取文件。
但是我需要在 accountA CF 模板中放置什么,才能允许 EC2 实例承担角色 B 并从 accountB S3 存储桶中提取文件作为形成的一部分?
我尝试遵循很多教程,例如 this cfn-iam:init tutorial但仍不能完全掌握什么去了哪里。
感谢您的建议。
艺术
最佳答案
不可能告诉 CloudFormation 承担另一个角色。
但是,如果您有可在 Amazon EC2 实例上运行的 CLI 脚本/命令,则只需将该脚本作为用户数据传递即可。该脚本将在您的实例启动时运行。用户数据可以在定义 EC2 实例的 CloudFormation 模板中传递。
关于amazon-web-services - 如何在 CloudFormation 模板中使用另一个 AWS 账户的 AssumeRole?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23663873/