本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建 CodePipeline 服务角色 (CLI)
在 Amazon 使用 CLI 或创建管道之前 Amazon CloudFormation,必须为管道创建 CodePipeline服务角色并附加服务角色策略和信任策略。要使用 CLI 创建您的服务角色,请按照以下步骤首先在运行 CLI 命令的目录中创建信任策略 JSON 和角色策略 JSON 作为单独的文件。
注意
我们建议您只允许管理用户创建任何服务角色。拥有创建角色和附加任何策略权限的人员可以升级自己的权限。相反,应创建一个策略,允许他们仅创建他们所需的角色,或者让管理员代表他们创建服务角色。
-
在终端窗口中,输入以下命令创建一个名为
TrustPolicy.json
的文件,在其中粘贴角色策略 JSON。此示例使用 VIM。vim TrustPolicy.json
-
将以下 JSON 粘贴到文件中。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "codepipeline.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
要保存并退出文件,请输入以下 VIM 命令:
:wq
-
在终端窗口中,输入以下命令创建一个名为
RolePolicy.json
的文件,在其中粘贴角色策略 JSON。此示例使用 VIM。vim RolePolicy.json
-
将以下 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
-
输入以下命令创建角色并附加信任角色策略。该策略名称格式通常与角色名称格式相同。此示例使用角色名称
MyRole
和作为单独文件创建的策略TrustPolicy
。aws iam create-role --role-name MyRole --assume-role-policy-document file://TrustPolicy.json
-
输入以下命令创建角色策略并将其附加到角色。该策略名称格式通常与角色名称格式相同。此示例使用角色名称
MyRole
和作为单独文件创建的策略MyRole
。aws iam put-role-policy --role-name MyRole --policy-name RolePolicy --policy-document file://RolePolicy.json
-
要查看创建的角色名称和信任策略,请为名为
MyRole
的角色输入以下命令:aws iam get-role --role-name MyRole
-
使用 CL Amazon I 或创建管道时,请使用服务角色 ARN。 Amazon CloudFormation