适用于 AWS CodePipeline 的 AWS 托管式策略
AWS 托管式策略是由 AWS 创建和管理的独立策略。AWS 托管式策略旨在为许多常见用例提供权限,以便您可以开始为用户、组和角色分配权限。
请记住,AWS 托管式策略可能不会为您的特定使用场景授予最低权限,因为它们可供所有 AWS 客户使用。我们建议通过定义特定于您的使用场景的客户托管式策略来进一步减少权限。
您无法更改 AWS 托管式策略中定义的权限。如果 AWS 更新在 AWS 托管式策略中定义的权限,则更新会影响该策略所附加到的所有主体身份(用户、组和角色)。当新的 AWS 服务 启动或新的 API 操作可用于现有服务时,AWS 最有可能更新 AWS 托管式策略。
有关更多信息,请参阅《IAM 用户指南》中的 AWS 托管式策略。
重要
亚马逊云科技托管式策略 AWSCodePipelineFullAccess
和 AWSCodePipelineReadOnlyAccess
已被替换。使用
和 AWSCodePipeline_FullAccess
策略。AWSCodePipeline_ReadOnlyAccess
AWS 托管式策略:AWSCodePipeline_FullAccess
这是一项授予对 CodePipeline 的完全访问权限的策略。要在 IAM 控制台中查看 JSON 策略文档,请参阅 AWSCodePipeline_FullAccess
权限详细信息
该策略包含以下权限。
-
codepipeline
:授予对 CodePipeline 的权限。 -
chatbot
:授予权限以允许主体管理 AWS Chatbot 中的资源。 -
cloudformation
:授予权限以允许主体管理 AWS CloudFormation 中的资源堆栈。 -
cloudtrail
:授予权限以允许主体管理 CloudTrail 中的日志记录资源。 -
codebuild
:授予权限以允许主体访问 CodeBuild 中的构建资源。 -
codecommit
:授予权限以允许主体访问 CodeCommit 中的资源。 -
codedeploy
:授予权限以允许主体访问 CodeDeploy 中的部署资源。 -
codestar-notifications
:授予权限以允许主体访问 AWS CodeStar 中的资源。 -
ec2
:授予权限以允许 CodeCatalyst 中的部署管理 Amazon EC2 中的弹性负载均衡。 -
ecr
:授予权限以允许访问 Amazon ECR 中的资源。 -
elasticbeanstalk
:授予权限以允许主体访问 Elastic Beanstalk 中的资源。 -
iam
:授予权限以允许主体管理 IAM 中的角色和策略。 -
lambda
:授予权限以允许主体管理 Lambda 中的资源。 -
events
:授予权限以允许主体管理 CloudWatch Events 中的资源。 -
opsworks
:授予权限以允许主体管理 AWS OpsWorks 中的资源。 -
s3
:授予权限以允许主体管理 Amazon S3 中的资源。 -
sns
:授予权限以允许主体管理 Amazon SNS 中的通知资源。 -
states
:授予权限以允许主体查看 AWS Step Functions 中的状态机。状态机由一组状态组成,这些状态用于管理任务和状态之间的转换。
{ "Statement": [ { "Action": [ "codepipeline:*", "cloudformation:DescribeStacks", "cloudformation:ListStacks", "cloudformation:ListChangeSets", "cloudtrail:DescribeTrails", "codebuild:BatchGetProjects", "codebuild:CreateProject", "codebuild:ListCuratedEnvironmentImages", "codebuild:ListProjects", "codecommit:ListBranches", "codecommit:GetReferences", "codecommit:ListRepositories", "codedeploy:BatchGetDeploymentGroups", "codedeploy:ListApplications", "codedeploy:ListDeploymentGroups", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ecr:DescribeRepositories", "ecr:ListImages", "ecs:ListClusters", "ecs:ListServices", "elasticbeanstalk:DescribeApplications", "elasticbeanstalk:DescribeEnvironments", "iam:ListRoles", "iam:GetRole", "lambda:ListFunctions", "events:ListRules", "events:ListTargetsByRule", "events:DescribeRule", "opsworks:DescribeApps", "opsworks:DescribeLayers", "opsworks:DescribeStacks", "s3:ListAllMyBuckets", "sns:ListTopics", "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes", "states:ListStateMachines" ], "Effect": "Allow", "Resource": "*", "Sid": "CodePipelineAuthoringAccess" }, { "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketPolicy", "s3:GetBucketVersioning", "s3:GetObjectVersion", "s3:CreateBucket", "s3:PutBucketPolicy" ], "Effect": "Allow", "Resource": "arn:aws:s3::*:codepipeline-*", "Sid": "CodePipelineArtifactsReadWriteAccess" }, { "Action": [ "cloudtrail:PutEventSelectors", "cloudtrail:CreateTrail", "cloudtrail:GetEventSelectors", "cloudtrail:StartLogging" ], "Effect": "Allow", "Resource": "arn:aws:cloudtrail:*:*:trail/codepipeline-source-trail", "Sid": "CodePipelineSourceTrailReadWriteAccess" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam::*:role/service-role/cwe-role-*" ], "Condition": { "StringEquals": { "iam:PassedToService": [ "events.amazonaws.com" ] } }, "Sid": "EventsIAMPassRole" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "codepipeline.amazonaws.com" ] } }, "Sid": "CodePipelineIAMPassRole" }, { "Action": [ "events:PutRule", "events:PutTargets", "events:DeleteRule", "events:DisableRule", "events:RemoveTargets" ], "Effect": "Allow", "Resource": [ "arn:aws:events:*:*:rule/codepipeline-*" ], "Sid": "CodePipelineEventsReadWriteAccess" }, { "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codepipeline:*" } } }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" } ], "Version": "2012-10-17" }
AWS托管式策略:AWSCodePipeline_ReadOnlyAccess
这是一项授予对 CodePipeline 的只读访问权限的策略。要在 IAM 控制台中查看 JSON 策略文档,请参阅 AWSCodePipeline_ReadOnlyAccess
权限详细信息
该策略包含以下权限。
-
codepipeline
:授予对 CodePipeline 中操作的权限。 -
codestar-notifications
:授予权限以允许主体访问 AWS CodeStar 中的资源。 -
s3
:授予权限以允许主体管理 Amazon S3 中的资源。 -
sns
:授予权限以允许主体管理 Amazon SNS 中的通知资源。
{ "Statement": [ { "Action": [ "codepipeline:GetPipeline", "codepipeline:GetPipelineState", "codepipeline:GetPipelineExecution", "codepipeline:ListPipelineExecutions", "codepipeline:ListActionExecutions", "codepipeline:ListActionTypes", "codepipeline:ListPipelines", "codepipeline:ListTagsForResource", "s3:ListAllMyBuckets", "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketPolicy" ], "Effect": "Allow", "Resource": "arn:aws:s3::*:codepipeline-*" }, { "Sid": "CodeStarNotificationsReadOnlyAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codepipeline:*" } } } ], "Version": "2012-10-17" }
AWS 托管式策略:AWSCodePipelineApproverAccess
这是一项授予批准或拒绝手动审批操作的权限的策略。要在 IAM 控制台中查看 JSON 策略文档,请参阅 AWSCodePipelineApproverAccess
权限详细信息
该策略包含以下权限。
-
codepipeline
:授予对 CodePipeline 中操作的权限。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "codepipeline:GetPipeline", "codepipeline:GetPipelineState", "codepipeline:GetPipelineExecution", "codepipeline:ListPipelineExecutions", "codepipeline:ListPipelines", "codepipeline:PutApprovalResult" ], "Effect": "Allow", "Resource": "*" } ] }
AWS 托管式策略:AWSCodePipelineCustomActionAccess
这是一项授权在 CodePipeline 中创建自定义操作或者集成 Jenkins 资源以用于构建或测试操作的策略。要在 IAM 控制台中查看 JSON 策略文档,请参阅 AWSCodePipelineCustomActionAccess
权限详细信息
该策略包含以下权限。
-
codepipeline
:授予对 CodePipeline 中操作的权限。
{ "Statement": [ { "Action": [ "codepipeline:AcknowledgeJob", "codepipeline:GetJobDetails", "codepipeline:PollForJobs", "codepipeline:PutJobFailureResult", "codepipeline:PutJobSuccessResult" ], "Effect": "Allow", "Resource": "*" } ], "Version": "2012-10-17" }
CodePipeline 托管策略和通知
CodePipeline 支持通知功能,可以向用户通知管道的重要更改。CodePipeline 托管策略包含通知功能的策略语句。有关更多信息,请参阅什么是通知?。
完全访问托管策略中的通知的相关权限
此托管策略会授予 CodePipeline 以及相关服务 CodeCommit、CodeBuild、CodeDeploy 和 AWS CodeStar 通知的权限。该策略还会授予您所需的权限,以便使用与您的管道集成的其他服务,如 Amazon S3、Elastic Beanstalk、CloudTrail、Amazon EC2 和 AWS CloudFormation。应用此托管策略的用户还可以创建和管理用于通知的 Amazon SNS 主题、为用户订阅和取消订阅主题、列出要选择作为通知规则目标的主题,以及列出为 Slack 配置的 AWS Chatbot 客户端。
AWSCodePipeline_FullAccess
托管策略包含以下语句,以允许对通知进行完全访问。
{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" }
只读托管策略中的通知的相关权限
AWSCodePipeline_ReadOnlyAccess
托管策略包含以下语句,以允许对通知进行只读访问。应用此策略的用户可以查看资源的通知,但无法创建、管理或订阅这些通知。
{ "Sid": "CodeStarNotificationsPowerUserAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource": "*" }
有关 IAM 和通知的更多信息,请参阅 AWS CodeStar 通知的身份和访问管理。
AWS CodePipeline 更新了 AWS 托管式策略
查看自 CodePipeline 开始跟踪更改起,与此服务的 AWS 托管式策略更新相关的详细信息。如需自动提醒此页面发生的更改,请订阅 CodePipeline 文档历史记录页面上的 RSS 源。
更改 | 描述 | 日期 |
---|---|---|
AWSCodePipeline_FullAccess:现有策略的更新 | CodePipeline 为该策略添加了一个权限,以支持 AWS CloudFormation 中的 ListStacks 。 |
2024 年 3 月 15 日 |
AWSCodePipeline_FullAccess:现有策略的更新 | 此政策进行了更新,添加了 AWS Chatbot 的权限。有关更多信息,请参阅 CodePipeline 托管策略和通知。 | 2023 年 6 月 21 日 |
AWSCodePipeline_FullAccess 和 AWSCodePipeline_ReadOnlyAccess 托管策略:现有策略的更新 |
CodePipeline 为这些策略增加了一项权限,以支持使用 AWS Chatbot 的额外通知类型 |
2023 年 5 月 16 日 |
AWSCodePipelineFullAccess:已弃用 |
此策略已被 2022 年 11 月 17 日之后,该策略不能附加到任何新的用户、组或角色。有关更多信息,请参阅 适用于 AWS CodePipeline 的 AWS 托管式策略。 |
2022 年 11 月 17 日 |
AWSCodePipelineReadOnlyAccess:已弃用 |
此策略已被 2022 年 11 月 17 日之后,该策略不能附加到任何新的用户、组或角色。有关更多信息,请参阅 适用于 AWS CodePipeline 的 AWS 托管式策略。 |
2022 年 11 月 17 日 |
CodePipeline 开始跟踪更改 |
CodePipeline 开始跟踪其 AWS 托管式策略的更改。 |
2021 年 3 月 12 日 |