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

您可能希望创建一个使用由另一个 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

主题

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

时间: 2024-10-29 12:31:01

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

如何通过命令行创建和设置一个MySQL用户

我想要在MySQL服务器上创建一个新的用户帐号,并且赋予他适当的权限和资源限制.如何通过命令行的方式来创建并且设置一个MySQL用户呢? 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行.每个MySQL用户帐号都有许多与之相关连的属性,例如用户名.密码以及权限和资源限制."权限"定义了特定用户能够在MySQL服务器中做什么,而"资源限制"为用户设置了一系列服务器资源的使用许可.创建或更新一个用户涉及到了对用户帐号所有属性的管理. 下面展示了如何在L

WPF Xaml中创建集合

原文:WPF Xaml中创建集合 首先在xaml中创建集合是一个不可取的方法. 本方法仅作为xaml的学习. 本文略微无聊,主要是编写的东西都是老玩意. 首先是定义一个类,作为你要加载集合的模型. 结构如下 internal class Student { public string Name { get; set; } public int Age { get; set; } } internal class StudentList:List<Student> { } class Strin

MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应

MFC小程序截图: 一.在MFC中简单使用WebBrowser的ActiveX插件的方法: 见博文:  http://blog.csdn.net/supermanking/article/details/5866213 二.在对话框中创建视图(我这里创建的是一个滚动视图): 见博文: http://blog.csdn.net/clever101/article/details/4873994 http://blog.csdn.net/clever101/article/details/37790

在sql server中创建一个只读login

在SQL Server中创建一个Login,并为这个login授予只读的权限 --create Login Name create login [domain\login] from windows; --create --UserName Create User DWReadOnly for login [domain\login] --Grant readonly ALTER ROLE [db_datareader] add MEMBER DWReadOnly Appendix 服务器角色参

在windows中创建一个影子用户

在windows中创建一个影子用户(看不到图请下载附件) 我们可以在windows操作系统中建立一个影子用户,也就是它是实际存在的,但是不会在登录时或者用户组中显示,我们可以赋予影子用户管理员权限,可以在某些情况下管理员不可用时使用. 建立影子用户之前,我们先介绍几个概念: SAM数据库:对用户登录用户名和密码进行验证. 注册表:相当于windows的神经系统,很重要. 策略管理器:它实际是注册表的管理工具,因为直接修改注册表是困难和危险的. 下面我们创建影子用户: 1)影子用户名称必须以$结尾

使用 Raspberry Pi 上的传感器在 Node.js 中创建一个 IoT Bluemix 应用程序

先决条件 一个IBM Bluemix 帐号,一个 Raspberry Pi 2 或 3,一个 PIR 运动传感器 适用于本文的 Github 存储库 如果您是一位精明的 Bluemix 开发人员,您可能只想看看如何在 node.js 中与 IoT 建立连接,或者只想了解如何从此 github 存储库中拉取我的代码. git clone https://github.com/nicolefinnie/iot-nodejs-tutorial 以下是实现与 IBM IoT 平台连接在一起的 4 个 R

【实战】在BingoCloudOS中创建一个blog环境

本文通过实战方式了解下在品高云(BingoCloudOS)中如何快速部署一个wordpress的blog站点(包括web和数据库) 涉及服务:弹性服务器(EC2) 涉及版本:所有版本 涉及功能点:镜像.密钥.远程连接.安全组.存储卷.wordpress下载与安装 1.创建实例前的准备 1.1.准备镜像 系统镜像由云平台管理员在进行云平台初始化时准备,普通用户直接使用即可,用户对于需要的镜像可在[基础服务→计算→镜像]的搜索内容框中对镜像进行搜索,若云平台中暂无您需要的镜像时可向管理员申请,或基于

iOS9中怎样在日历App中创建一个随意时间之前開始的提醒(三)

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;) 四.创建随意时间之前開始的提醒 如今我们找到了指定源中的指定日历,剩下要做的就是在日历中创建一个事件,而且设置其对于的提醒.我们能够创建2种类型的事件:单一的和循环的(或者称之为反复的).这里为了简单起见(KISS),我们仅仅创建单一的事件: -(void)addAlarmToCalendar:(EKCalendar*)calendar inStore:(EK

在第一战中,我们创建了第一个App project

前情提要(Previously) 在第一战中,我们创建了第一个App project, Hello World,并分析了项目结构,及运行原理. 链接在此:Android Studio 单刷<第一行代码>系列 01 —— 第一战 HelloWorld 摘要(Abstract) 必备技能,使用日志工具 LogCat,并尝试解决真机调试没有日志的问题. 日志工具(LogCat) 日志在任何项目的开发过程中都会起到非常重要的作用,在 Android 项目中如果你想要查看日志则必须要使用 LogCat