我想创建一个 lambda 函数,它可以在另一个 Aws 帐户中创建 cloudformation 堆栈并从 S3 存储桶中获取模板 源帐户。
答案 0 :(得分:1)
AWS CloudFormation 只能从将部署资源的 AWS 账户运行。
因此,账户 A 中的 AWS Lambda 函数需要:
AssumeRole()
,这将为账户 B 提供临时凭证CreateStack()
在 Account-B 中创建 CloudFormation 堆栈用于创建堆栈的模板文件可以作为 CreateStack()
调用的一部分传递,也可以通过 AmazonS3 URL 进行引用。如果模板来自账户 A,则 S3 存储桶需要使账户 B 可以访问该对象(例如,通过存储桶策略或 ACL)。
参考:https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html