0

我正在尝试创建一个跨帐户代码管道,并且没有适合这种情况的文档。

  1. Account - A 有 s3 存储桶和 yaml 文件
  2. Account-B 将拥有 Codepipeline

帐户 B 代码管道应在帐户 A 的源阶段将 S3 作为源,并在部署阶段使用 cloudformation 部署方法。有人可以帮助了解完成此任务必须满足的角色和其他需求吗?

4

1 回答 1

1

要完成这项工作,您需要做两件事。

  1. 您的存储桶需要使用客户 KMS 密钥,而不是默认值。这是因为您无法授予其他账户使用默认密钥的权限,这意味着其他账户无法解密存储桶中的数据。您需要在密钥策略中授予权限,以允许其他帐户使用该密钥进行解密。理想情况下,不仅针对整个帐户,还针对您的 CodePipeline 源步骤中使用的角色。
  2. 您必须在 S3 存储桶策略中授予对其他账户的访问权限。理想情况下,不仅针对整个帐户,还针对您的 CodePipeline 源步骤中使用的角色。

我有一个项目使用组织来完成其中的一些工作。这不是您想要的,因为我项目中的 CodePipeline 位于“AccountT”中,而管道运行 CloudFormation(或其他东西)在“Account-B”中运行。因此,在我的情况下,只有 CloudFormation 会返回“AccountT”中的存储桶。我认为修改它以按照您需要的方式工作应该不会是一个很大的变化。我的项目主要基于这篇 AWS 文章

于 2021-04-15T14:52:54.477 回答