创建 CodePipeline 服务角色 (CLI) - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建 CodePipeline 服务角色 (CLI)

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

注意

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

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

    vim TrustPolicy.json
  2. 将以下 JSON 粘贴到文件中。

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

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

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

    vim RolePolicy.json
  4. 将以下 JSON 粘贴到文件中。在政策声明 Resource 字段中为您的管道添加 Amazon 资源名称 (ARN),确保尽可能缩小权限范围。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:CancelUploadArchive", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetUploadArchiveStatus", "codecommit:UploadArchive" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetApplicationRevision", "codedeploy:GetDeployment", "codedeploy:GetDeploymentConfig", "codedeploy:RegisterApplicationRevision" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "codebuild:BatchGetBuilds", "codebuild:StartBuild" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:ListFunctions" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "elasticbeanstalk:*", "ec2:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "rds:*", "sqs:*", "ecs:*" ], "Resource": "resource_ARN" } ] }

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

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

    aws iam create-role --role-name MyRole --assume-role-policy-document file://TrustPolicy.json
  6. 输入以下命令创建角色策略并将其附加到角色。该策略名称格式通常与角色名称格式相同。此示例使用角色名称 MyRole 和作为单独文件创建的策略 MyRole

    aws iam put-role-policy --role-name MyRole --policy-name RolePolicy --policy-document file://RolePolicy.json
  7. 要查看创建的角色名称和信任策略,请为名为 MyRole 的角色输入以下命令:

    aws iam get-role --role-name MyRole
  8. 使用 CL Amazon I 或创建管道时,请使用服务角色 ARN。 Amazon CloudFormation