码迷,mamicode.com
首页 > 其他好文 > 详细

在 CodePipeline 中创建使用另一个 AWS 账户的资源的管道

时间:2019-10-03 21:46:49      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:instance   程序   com   div   user   请求   strong   col   man   

您可能希望创建一个使用由另一个 AWS 账户创建或管理的资源的管道。例如,您可能希望将一个账户用于您的管道,将另一个账户用于您的 CodeDeploy 资源。

在此示例中,您必须创建一个要使用的 AWS Key Management Service (AWS KMS) 密钥,将该密钥添加到管道,并设置账户策略和角色以启用跨账户访问。对于 AWS KMS 密钥,您可以使用密钥 ID、密钥 ARN 或别名 ARN。

注意

仅在创建了客户主密钥 (CMK) 的账户中识别别名。对于跨账户操作,您只能使用密钥 ID 或密钥 ARN 来标识密钥。

在本演练及其示例中,AccountA 是最初用于创建管道的账户。它可以访问用于存储管道项目的 Amazon S3 存储桶以及 AWS CodePipeline 使用的服务角色。AccountB 是最初用于创建 CodeDeploy 应用程序、部署组以及 CodeDeploy 使用的服务角色的账户。

要使 AccountA 能够编辑管道以使用 AccountB 创建的 CodeDeploy 应用程序,AccountA 必须:

  • 请求 AccountB 的 ARN 或账户 ID (在本演练中,AccountB ID 为 012ID_ACCOUNT_B)。

  • 在管道的区域中创建或使用客户管理的 AWS KMS 密钥,并向服务角色 (AWS-CodePipeline-Service) 和 AccountB 授予使用该密钥的权限。

  • 创建一个 Amazon S3 存储桶策略,以授予 AccountB 访问该 Amazon S3 存储桶的权限 (例如 codepipeline-us-east-2-1234567890)。

  • 创建一个允许 AccountA 担任由 AccountB 配置的角色的策略,并将该策略附加到服务角色 (AWS-CodePipeline-Service)。

  • 编辑管道以使用客户托管 AWS KMS 密钥而不是默认密钥。

要使 AccountB 允许在 AccountA 中创建的管道访问其资源,AccountB 必须:

  • 请求 AccountA 的 ARN 或账户 ID (在本演练中,AccountA ID 为 012ID_ACCOUNT_A)。

  • 创建一个应用到为 CodeDeploy 配置的 Amazon EC2 实例角色的策略,以允许访问 Amazon S3 存储桶 (codepipeline-us-east-2-1234567890)。

  • 创建一个应用到为 CodeDeploy 配置的 Amazon EC2 实例角色的策略,以允许访问用于加密 AccountA 中的管道项目的客户管理的 AWS KMS 密钥。

  • 配置一个 IAM 角色 (CrossAccount_Role),并将允许 AccountA 担任该角色的信任关系策略附加到该角色。

  • 创建一个允许访问管道所需的部署资源的策略,并将其附加到 CrossAccount_Role

  • 创建一个允许访问 Amazon S3 存储桶 (codepipeline-us-east-2-1234567890) 的策略,并将其附加到 CrossAccount_Role

主题

在 CodePipeline 中创建使用另一个 AWS 账户的资源的管道

标签:instance   程序   com   div   user   请求   strong   col   man   

原文地址:https://www.cnblogs.com/cloudrivers/p/11620808.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!