選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

管理 CodePipeline 服務角色

焦點模式
管理 CodePipeline 服務角色 - AWS CodePipeline

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CodePipeline 服務角色已設定一或多個政策,控制對管道所用 AWS 資源的存取。您可能想要將更多政策連接至此角色、編輯連接至角色的政策,或為其他 服務角色設定政策 AWS。在設定跨帳戶存取您的管道時,您可能也會想要將政策連接到角色。

重要

修改政策說明或將其他政策連接到角色,可能會導致您的管道停止運作。在以任何方式修改 CodePipeline 的服務角色之前,請務必了解其影響。對服務角色進行任何變更之後,務必測試您的管道。

注意

在主控台,在 2018 年 9 月之前建立的服務角色是以名稱 oneClick_AWS-CodePipeline-Service_ID-Number 建立。

2018 年 9 月之後建立的服務角色使用服務角色名稱格式 AWSCodePipelineServiceRole-Region-Pipeline_Name。例如,對於 MyFirstPipeline中名為 的管道eu-west-2,主控台會命名角色和政策 AWSCodePipelineServiceRole-eu-west-2-MyFirstPipeline

從 CodePipeline 服務角色移除許可

您可以編輯服務角色說明,移除您未使用的資源存取。例如,如果沒有任何管道包含 Elastic Beanstalk,您可以編輯政策陳述式來移除授予 Elastic Beanstalk 資源存取權的區段。

同樣地,如果沒有任何管道包含 CodeDeploy,您可以編輯政策陳述式來移除授予 CodeDeploy 資源存取權的區段:

{ "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetApplicationRevision", "codedeploy:GetDeployment", "codedeploy:GetDeploymentConfig", "codedeploy:RegisterApplicationRevision" ], "Resource": "*", "Effect": "Allow" },

將許可新增至 CodePipeline 服務角色

您必須使用預設服務角色政策陳述式中 AWS 服務 未包含的 許可來更新服務角色政策陳述式,才能在管道中使用它。

如果您在將 的支援新增至 CodePipeline 之前建立管道使用的服務角色,這尤其重要 AWS 服務。

下表顯示何時新增其他 的支援 AWS 服務。

AWS 服務 CodePipeline 支援日期
EC2 新增 動作支援。請參閱 EC2 部署動作的服務角色政策許可 2025 年 2 月 21 日
已新增 CodePipeline 調用動作支援。請參閱 CodePipeline 調用動作的服務角色政策許可 2025 年 3 月 14 日
EKS 新增 動作支援。請參閱 服務角色政策許可 2025 年 2 月 20 日
已新增 Amazon Elastic Container Registry ECRBuildAndPublish動作支援。請參閱 服務角色許可:ECRBuildAndPublish動作 2024 年 11 月 22 日
已新增 Amazon Inspector InspectorScan動作支援。請參閱 服務角色許可:InspectorScan動作 2024 年 11 月 22 日
新增命令動作支援。請參閱 服務角色許可:Commands動作 2024 年 10 月 3 日
AWS CloudFormation 新增 動作支援。請參閱 服務角色許可:CloudFormationStackSet動作服務角色許可:CloudFormationStackInstances動作 2020 年 12 月 30 日
已新增 CodeCommit 完整複製輸出成品格式動作支援。請參閱 服務角色許可:CodeCommit 動作支援完整複製 2020 年 11 月 11 日
已新增 CodeBuild 批次建置動作支援。請參閱 服務角色許可:批次建置的 CodeBuild 動作支援 2020 年 7 月 30 日
AWS 已新增 AppConfig 動作支援。請參閱 服務角色許可:AppConfig動作 2020 年 6 月 22 日
AWS Step Functions 新增 動作支援。請參閱 服務角色許可:StepFunctions動作 2020 年 5 月 27 日
AWS CodeStar 新增連線動作支援。請參閱 服務角色許可:CodeConnections 動作 2019 年 12 月 18 日
新增CodeDeployToECS動作支援。請參閱 服務角色許可:CodeDeployToECS動作 2018 年 11 月 27 日
已新增 Amazon ECR 動作支援。請參閱 服務角色許可:Amazon ECR 動作 2018 年 11 月 27 日
已新增 Service Catalog 動作支援。請參閱 服務角色許可:Service Catalog 動作 2018 年 10 月 16 日
AWS Device Farm 新增 動作支援。請參閱 服務角色許可: AWS Device Farm 動作 2018 年 7 月 19 日
已新增 Amazon ECS 動作支援。請參閱 服務角色許可:Amazon ECS 標準動作 2017 年 12 月 12 日/2017 年 7 月 21 日更新選擇加入標記授權
已新增 CodeCommit 動作支援。請參閱 服務角色許可:CodeCommit 動作 2016 年 4 月 18 日
AWS OpsWorks 新增 動作支援。請參閱 服務角色許可: AWS OpsWorks 動作 2016 年 6 月 2 日
AWS CloudFormation 新增 動作支援。請參閱 服務角色許可: AWS CloudFormation 動作 2016 年 11 月 3 日
AWS CodeBuild 新增 動作支援。請參閱 服務角色許可:CodeBuild 動作 2016 年 12 月 1 日
已新增 Elastic Beanstalk 動作支援。請參閱 服務角色許可:ElasticBeanstalk部署動作 初始服務啟動

請依照下列步驟為支援的服務新增許可:

  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/iam/://www. 開啟 IAM 主控台。

  2. 在 IAM 主控台的導覽窗格中,選擇角色,然後從AWS-CodePipeline-Service角色清單中選擇您的角色。

  3. 許可索引標籤的內嵌政策中,於服務角色政策的資料列中,選擇編輯政策

  4. 政策文件方塊中新增必要的許可。

    注意

    當您建立 IAM 政策時,請遵循授予最低權限的標準安全建議,也就是僅授予執行任務所需的許可。某些 API 呼叫支援資源型許可,並且允許限制存取。例如,在此範例中,如要限制呼叫 DescribeTasksListTasks 時的許可,您可以將萬用字元 (*) 取代成資源 ARN,或是使用包含萬用字元 (*) 的資源 ARN。如需建立授予最低權限存取的政策的詳細資訊,請參閱 https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

  5. 選擇檢閱政策,確保政策沒有任何錯誤。當政策沒有錯誤時,請選擇套用政策

服務角色許可:CodeCommit 動作

例如,針對 CodeCommit 支援,請將下列內容新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:UploadArchive", "codecommit:GetUploadArchiveStatus", "codecommit:CancelUploadArchive" ], "Resource": "resource_ARN" },

如需此動作的詳細資訊,請參閱 CodeCommit 來源動作參考

服務角色許可: AWS OpsWorks 動作

如需 AWS OpsWorks 支援,請將下列內容新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "opsworks:CreateDeployment", "opsworks:DescribeApps", "opsworks:DescribeCommands", "opsworks:DescribeDeployments", "opsworks:DescribeInstances", "opsworks:DescribeStacks", "opsworks:UpdateApp", "opsworks:UpdateStack" ], "Resource": "resource_ARN" },

服務角色許可: AWS CloudFormation 動作

如需 AWS CloudFormation 支援,請將下列內容新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "cloudformation:UpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "iam:PassRole" ], "Resource": "resource_ARN" },

請注意, cloudformation:DescribeStackEvents許可是選用的。它允許 AWS CloudFormation 動作顯示更詳細的錯誤訊息。如果您不希望資源詳細資訊出現在管道錯誤訊息中,則可以從 IAM 角色撤銷此許可。如需詳細資訊,請參閱AWS CloudFormation 部署動作參考

注意

批次建置的支援已在日後新增。請參閱步驟 11,以取得將 新增至批次建置服務角色的許可。

服務角色許可:CodeBuild 動作

對於 CodeBuild 支援,請將以下內容新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "codebuild:BatchGetBuilds", "codebuild:StartBuild" ], "Resource": "resource_ARN" },
注意

批次建置的支援已在日後新增。請參閱步驟 11,以取得將 新增至批次建置服務角色的許可。

如需此動作的詳細資訊,請參閱 AWS CodeBuild 組建和測試動作參考

服務角色許可: AWS Device Farm 動作

如需 AWS Device Farm 支援,請將下列內容新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "resource_ARN" },

如需此動作的詳細資訊,請參閱 AWS Device Farm 測試動作參考

服務角色許可:Service Catalog 動作

對於 Service Catalog 支援,請將下列內容新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "servicecatalog:ListProvisioningArtifacts", "servicecatalog:CreateProvisioningArtifact", "servicecatalog:DescribeProvisioningArtifact", "servicecatalog:DeleteProvisioningArtifact", "servicecatalog:UpdateProduct" ], "Resource": "resource_ARN" }, { "Effect": "Allow", "Action": [ "cloudformation:ValidateTemplate" ], "Resource": "resource_ARN" }

服務角色許可:Amazon ECR 動作

對於 Amazon ECR 支援,請將以下內容新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "ecr:DescribeImages" ], "Resource": "resource_ARN" },

如需此動作的詳細資訊,請參閱 Amazon ECR 來源動作參考

服務角色許可:Amazon ECS 標準動作

對於 Amazon ECS,下列是使用 Amazon ECS 部署動作建立管道所需的最低許可。

{ "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:DescribeTaskDefinition", "ecs:DescribeTasks", "ecs:ListTasks", "ecs:RegisterTaskDefinition", "ecs:TagResource", "ecs:UpdateService" ], "Resource": "resource_ARN" },

您可以選擇在 Amazon ECS 中使用標記授權。選擇加入後,您必須授予下列許可:ecs:TagResource。如需如何選擇加入和判斷是否需要許可和是否強制執行標籤授權的詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的標記授權時間表

您還必須新增iam:PassRole許可,才能將 IAM 角色用於任務。如需詳細資訊,請參閱 Amazon ECS 任務執行 IAM 角色任務的 IAM 角色。使用下列政策文字。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::aws_account_ID:role/ecsTaskExecutionRole_or_TaskRole_name" ] } ] }

如需此動作的詳細資訊,請參閱 Amazon Elastic Container Service 部署動作參考

服務角色許可:CodeDeployToECS動作

對於 CodeDeployToECS動作 (藍/綠部署),以下是使用 CodeDeploy 建立管道到 Amazon ECS 藍/綠部署動作所需的最低許可。

{ "Effect": "Allow", "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetDeployment", "codedeploy:GetApplication", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:GetDeploymentConfig", "ecs:RegisterTaskDefinition", "ecs:TagResource" ], "Resource": "resource_ARN" },

您可以選擇在 Amazon ECS 中使用標記授權。選擇加入後,您必須授予下列許可:ecs:TagResource。如需如何選擇加入和判斷是否需要許可和是否強制執行標籤授權的詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的標記授權時間表

您還必須新增iam:PassRole許可,才能將 IAM 角色用於任務。如需詳細資訊,請參閱 Amazon ECS 任務執行 IAM 角色任務的 IAM 角色。使用下列政策文字。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::aws_account_ID:role/ecsTaskExecutionRole_or_TaskRole_name" ] } ] }

您也可以將 ecs-tasks.amazonaws.com新增至iam:PassedToService條件下的 服務清單,如本範例所示。

{ "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "resource_ARN", "Condition": { "StringEqualsIfExists": { "iam:PassedToService": [ "cloudformation.amazonaws.com", "elasticbeanstalk.amazonaws.com", "ec2.amazonaws.com", "ecs-tasks.amazonaws.com" ] } } },

如需此動作的詳細資訊,請參閱 Amazon Elastic Container Service 和 CodeDeploy 藍綠部署動作參考

服務角色許可:CodeConnections 動作

對於 CodeConnections,需要下列許可,才能使用 Bitbucket Cloud 等連線的來源建立管道。

{ "Effect": "Allow", "Action": [ "codeconnections:UseConnection" ], "Resource": "resource_ARN" },

如需連線的 IAM 許可的詳細資訊,請參閱連線許可參考

如需此動作的詳細資訊,請參閱 適用於 Bitbucket Cloud、GitHub、GitHub Enterprise Server、GitLab.com, 和 GitLab 自我管理動作的 CodeStarSourceConnection

服務角色許可:StepFunctions動作

對於 StepFunctions動作,下列是使用 Step Functions 叫用動作建立管道所需的最低許可。

{ "Effect": "Allow", "Action": [ "states:DescribeStateMachine", "states:DescribeExecution", "states:StartExecution" ], "Resource": "resource_ARN" },

如需此動作的詳細資訊,請參閱 AWS Step Functions 叫用動作參考

服務角色許可:AppConfig動作

對於 AppConfig動作,下列是使用 an AWS AppConfig 叫用動作建立管道所需的最低許可。

{ "Effect": "Allow", "Action": [ "appconfig:StartDeployment", "appconfig:GetDeployment", "appconfig:StopDeployment" ], "Resource": "resource_ARN" },

如需此動作的詳細資訊,請參閱 AWS AppConfig 部署動作參考

服務角色許可:批次建置的 CodeBuild 動作支援

對於批次建置的 CodeBuild 支援,請將以下內容新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "codebuild:BatchGetBuildBatches", "codebuild:StartBuildBatch" ], "Resource": "resource_ARN" },

如需此動作的詳細資訊,請參閱 AWS CodeBuild 組建和測試動作參考

服務角色許可:CloudFormationStackSet動作

For AWS CloudFormation StackSets 動作需要下列最低許可。

針對 CloudFormationStackSet動作,將下列項目新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "cloudformation:CreateStackSet", "cloudformation:UpdateStackSet", "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation", "cloudformation:DescribeStackSet", "cloudformation:ListStackInstances" ], "Resource": "resource_ARN" },

如需此動作的詳細資訊,請參閱 AWS CloudFormation StackSets 部署動作參考

服務角色許可:CloudFormationStackInstances動作

針對 CloudFormationStackInstances動作,將下列項目新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation" ], "Resource": "resource_ARN" },

如需此動作的詳細資訊,請參閱 AWS CloudFormation StackSets 部署動作參考

服務角色許可:CodeCommit 動作支援完整複製

對於 CodeCommit 支援完整複製選項,請將以下內容新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "codecommit:GetRepository" ], "Resource": "resource_ARN" },
注意

若要確保您的 CodeBuild 動作可以搭配 CodeCommit 來源使用完整複製選項,您還必須將 codecommit:GitPull許可新增至專案 CodeBuild 服務角色的政策陳述式。

如需此動作的詳細資訊,請參閱 CodeCommit 來源動作參考

服務角色許可:ElasticBeanstalk部署動作

對於 Elastic Beanstalk,下列是使用ElasticBeanstalk部署動作建立管道所需的最低許可。

{ "Effect": "Allow", "Action": [ "elasticbeanstalk:*", "ec2:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "rds:*", "sqs:*", "ecs:*" ], "Resource": "resource_ARN" },
注意

您應該將資源政策中的萬用字元取代為您要限制存取之帳戶的資源。如需建立授予最低權限存取的政策的詳細資訊,請參閱 https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

服務角色許可:CloudWatch Logs 動作

對於您要為 CloudWatch Logs 設定的管道,以下是您需要新增至 CodePipeline 服務角色的最低許可。

{ "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:PutRetentionPolicy" ], "Resource": "resource_ARN" },
注意

您應該將資源政策中的萬用字元取代為您要限制存取之帳戶的資源。如需建立授予最低權限存取的政策的詳細資訊,請參閱 https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

服務角色許可:Commands動作

針對 Commands 動作支援,請將下列內容新增至您的政策陳述式:

{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME", "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*" ] }
注意

使用服務角色政策陳述式中的資源型許可,將許可範圍縮小到管道資源層級。如需詳細資訊,請參閱 中的政策範例服務角色政策許可

如需此動作的詳細資訊,請參閱 命令動作參考

服務角色許可:ECRBuildAndPublish動作

如需 ECRBuildAndPublish動作支援,請將下列內容新增至您的政策陳述式:

{ "Statement": [ { "Sid": "ECRRepositoryAllResourcePolicy", "Effect": "Allow", "Action": [ "ecr:DescribeRepositories", "ecr:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload", "ecr:PutImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability" ], "Resource": "PrivateECR_Resource_ARN" }, { "Effect": "Allow", "Action": [ "ecr-public:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:InitiateLayerUpload", "ecr-public:UploadLayerPart", "ecr-public:CompleteLayerUpload", "ecr-public:PutImage", "ecr-public:BatchCheckLayerAvailability", "sts:GetServiceBearerToken" ], "Resource": "PublicECR_Resource_ARN" }, { "Effect": "Allow", "Action": [ "sts:GetServiceBearerToken" ], "Resource": "*" } ] }

此外,如果尚未為Commands動作新增 ,請將下列許可新增至您的服務角色,以檢視 CloudWatch 日誌。

{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "resource_ARN" },
注意

使用服務角色政策陳述式中的資源型許可,將許可範圍縮小到管道資源層級。

如需此動作的詳細資訊,請參閱 ECRBuildAndPublish 組建動作參考

服務角色許可:InspectorScan動作

如需InspectorScan動作支援,請將下列內容新增至您的政策陳述式:

{ "Effect": "Allow", "Action": "inspector-scan:ScanSbom", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "resource_ARN" },

此外,如果 命令動作尚未新增 ,請將下列許可新增至您的服務角色,以檢視 CloudWatch 日誌。

{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "resource_ARN" },
注意

使用服務角色政策陳述式中的資源型許可,將許可範圍縮小到管道資源層級。

如需此動作的詳細資訊,請參閱 Amazon Inspector InspectorScan 調用動作參考

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。