【问题标题】:how to describe cloudformation cross account stack info/name/details如何描述 cloudformation 跨帐户堆栈信息/名称/详细信息
【发布时间】:2021-06-28 10:53:53
【问题描述】:

我们有 2 个 aws 帐户。现在我们尝试将我们的 prod 环境资源迁移到另一个 aws 帐户。我们在账户 A 中设置了管道,它将在账户 B 中部署资源。 我们的 AWS 基础设施堆栈已在账户 B 中可用,当从账户 A 在 cmd 下运行时,我们遇到以下错误:-

cmd:- aws cloudformation describe-stacks --stack-name prod-gateway

错误:- 调用 DescribeStacks 操作时发生错误(ValidationError):ID 为 prod-gateway 的堆栈不存在

这是一个有效错误,因为我们正在尝试从账户 A 获取账户 B 堆栈信息,而堆栈在 acc A 中不存在。

所以问题是我可以从账户 A 描述账户 B 的堆栈信息吗?有没有跨账户的cmd来实现这个?

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation


    【解决方案1】:

    所以问题是我可以从账户 A 描述账户 B 的堆栈信息吗?有没有跨账户的cmd来实现这个?

    您使用必须设置的cross-account roles 角色。简而言之:

    • 在 accB 中,您可以创建一个允许描述其堆栈的角色。角色的推力关系允许 accA 承担角色。
    • 在 accA 中,您使用 assume-role 来承担 accB 的角色。这将为您提供新的临时 AWS 凭证。 accB 中的 IAM 角色/用户必须具有代入该角色的权限。
    • 在 accA 中,使用临时凭据,您可以针对 accB 执行 aws cloudformation describe-stacks

    【讨论】:

    • 感谢 Marcin 的回复。在我的 cross-acc-B 角色中,我已经为 codepipeline/codebuild/accA 配置了信任关系,并且该角色拥有 s3、ecr、cloudfoamtion、kms、codebuild 的所有权限。在 accA codebuild/codepipeline 角色中,假设角色已配置,但如何生成此临时 AWS 凭证?
    • @PareshSahoo 不确定是哪个codepipeline/codebuild/accA?您的问题没有提供任何细节,甚至没有提及这些服务。如果是新问题,我建议提出新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 2023-02-22
    • 1970-01-01
    • 2017-01-16
    相关资源
    最近更新 更多