

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建 CodePipeline 服务角色
<a name="pipelines-create-service-role"></a>

创建管道时，您可以创建服务角色或使用现有服务角色。

您可以使用 CodePipeline 控制台或 AWS CLI 创建 CodePipeline 服务角色。创建管道需要服务角色，管道始终与该服务角色相关联。

在 AWS 使用 CLI 创建管道之前，必须为管道创建 CodePipeline 服务角色。有关指定了服务角色和策略的示例 CloudFormation 模板，请参阅中的教程[教程：创建使用 AWS CloudFormation 部署操作中的变量的管道](tutorials-cloudformation-action.md)。

服务角色不是 AWS 托管角色，而是最初为创建管道而创建的，然后在服务角色策略中添加新权限时，您可能需要更新管道的服务角色。使用服务角色创建管道后，您无法将不同的服务角色应用于该管道。将建议的策略附加到服务角色。

有关服务角色的更多信息，请参阅[管理 CodePipeline 服务角色](how-to-custom-role.md)。

# 创建 CodePipeline 服务角色（控制台）
<a name="pipelines-create-service-role-console"></a>

使用控制台创建管道时，您可以使用管道创建向导创建 CodePipeline 服务角色。

1. 登录 AWS 管理控制台 并打开 CodePipeline 控制台，[网址为 http://console.aws.amazon。 com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home)。

   选择**创建管道**并完成管道创建向导中的**步骤 1: 选择管道设置**页面。
**注意**  
创建管道后，便无法再更改其名称。有关其他限制的信息，请参阅[AWS CodePipeline 中的限额](limits.md)。

1. 在**服务角色**中，选择**新服务角色** CodePipeline 以允许在 IAM 中创建新的服务角色。

1. 完成管道创建。您的管道服务角色可在 IAM 角色列表中查看，您可以通过使用 AWS CLI 运行 `get-pipeline` 命令来查看与管道关联的服务角色 ARN。

# 创建 CodePipeline 服务角色 (CLI)
<a name="pipelines-create-service-role-cli"></a>

在 AWS 使用 CLI 或创建管道之前 CloudFormation，必须为管道创建 CodePipeline服务角色并附加服务角色策略和信任策略。要使用 CLI 创建您的服务角色，请按照以下步骤首先在运行 CLI 命令的目录中创建信任策略 JSON 和角色策略 JSON 作为单独的文件。

**注意**  
我们建议您只允许管理用户创建任何服务角色。拥有创建角色和附加任何策略权限的人员可以升级自己的权限。相反，应创建一个策略，允许他们仅创建他们所需的角色，或者让管理员代表他们创建服务角色。

1. 在终端窗口中，输入以下命令创建一个名为 `TrustPolicy.json` 的文件，在其中粘贴角色策略 JSON。此示例使用 VIM。

   ```
   vim TrustPolicy.json
   ```

1. 将以下 JSON 粘贴到文件中。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "codepipeline.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

   要保存并退出文件，请输入以下 VIM 命令：

   ```
   :wq
   ```

1. 在终端窗口中，输入以下命令创建一个名为 `RolePolicy.json` 的文件，在其中粘贴角色策略 JSON。此示例使用 VIM。

   ```
   vim RolePolicy.json
   ```

1. 将 JSON 策略粘贴到文件中。使用[CodePipeline 服务角色策略](how-to-custom-role.md#how-to-custom-role-policy)中提供的最低服务角色策略。此外，根据您计划使用的操作为您的服务角色添加相应的权限。有关操作列表和每个操作所需的服务角色权限的链接，请参阅[为 CodePipeline 服务角色添加权限](how-to-custom-role.md#how-to-update-role-new-services)。

   将范围缩小到 `Resource` 字段中的资源级别，确保尽可能缩小权限范围。

   要保存并退出文件，请输入以下 VIM 命令：

   ```
   :wq
   ```

1. 输入以下命令创建角色并附加信任角色策略。该策略名称格式通常与角色名称格式相同。此示例使用角色名称 `MyRole` 和作为单独文件创建的策略 `TrustPolicy`。

   ```
   aws iam create-role --role-name MyRole --assume-role-policy-document file://TrustPolicy.json
   ```

1. 输入以下命令创建角色策略并将其附加到角色。该策略名称格式通常与角色名称格式相同。此示例使用角色名称 `MyRole` 和作为单独文件创建的策略 `MyRole`。

   ```
   aws iam put-role-policy --role-name MyRole --policy-name RolePolicy --policy-document file://RolePolicy.json
   ```

1. 要查看创建的角色名称和信任策略，请为名为 `MyRole` 的角色输入以下命令：

   ```
   aws iam get-role --role-name MyRole
   ```

1. 使用 CL AWS I 或创建管道时，请使用服务角色 ARN。 CloudFormation