如何解决如何创建 lambda boto3 函数以在另一个 Aws 帐户中创建 cloudformation 堆栈
我想创建一个 lambda 函数,它可以在另一个 Aws 帐户中创建 cloudformation 堆栈并从 S3 存储桶中获取模板 源帐户。
解决方法
AWS CloudFormation 只能从将部署资源的 AWS 账户运行。
因此,账户 A 中的 AWS Lambda 函数需要:
- 对账户 B 中的 IAM 角色调用
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。