微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何创建 lambda boto3 函数以在另一个 Aws 帐户中创建 cloudformation 堆栈

如何解决如何创建 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 举报,一经查实,本站将立刻删除。