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

CodePipeline 权限参考

在设置访问控制以及编写可附加到 IAM 身份的权限策略(基于身份的策略)时,请将下表作为参考。此表列出了每个 CodePipeline API 操作及您可以授权执行的对应操作。对于支持资源级权限的操作,该表列出了您可以授予相应权限的 Amazon 资源。请在策略的 Action 字段中指定这些操作。

资源级权限 是指能让您指定允许用户对哪些资源执行操作的权限。Amazon CodePipeline 对资源级权限提供部分支持。这意味着,对于某些 Amazon CodePipeline API 调用,您可以控制何时允许用户执行那些操作(基于必须满足的条件)或是允许用户使用哪些资源。例如,您可以授予用户列出管道执行信息的权限,但只针对一个或一些特定管道。

注意

资源列中列出了支持资源级权限的 API 调用所需的资源。对于不支持资源级权限的 API 调用,您可以向用户授予使用调用的权限,但是必须为策略语句的“Resource”元素指定通配符(*)。

CodePipeline API 操作和所需的操作权限
CodePipeline API 操作 所需权限(API 操作) 资源

AcknowledgeJob

codepipeline:AcknowledgeJob

查看有关指定作业的信息以及作业辅助角色是否已收到该作业所必需的。仅用于自定义操作。

仅支持在策略的 Resource 元素中使用通配符(*)。

AcknowledgeThirdPartyJob

codepipeline:AcknowledgeThirdPartyJob

确认作业辅助角色已收到指定作业所必需的。仅用于合作伙伴操作。

仅支持在策略的 Resource 元素中使用通配符(*)。

CreateCustomActionType

codepipeline:CreateCustomActionType

需要它才能创建可在 Amazon 账户所有关联管道中使用的自定义操作。仅用于自定义操作。

操作类型

arn:aws:codepipeline:region:account:actiontype:owner/category/provider/version

CreatePipeline

codepipeline:CreatePipeline

创建管道所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

DeleteCustomActionType

codepipeline:DeleteCustomActionType

将自定义操作标记为已删除所必需的。自定义操作的 PollForJobs 在该操作标记为删除后失败。仅用于自定义操作。

操作类型

arn:aws:codepipeline:region:account:actiontype:owner/category/provider/version

DeletePipeline

codepipeline:DeletePipeline

删除管道所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

DeleteWebhook

codepipeline:DeleteWebhook

删除 Webhook 所必需的。

Webhook

arn:aws:codepipeline:region:account:webhook:webhook-name

DeregisterWebhookWithThirdParty

codepipeline:DeregisterWebhookWithThirdParty

在删除 Webhook 之前,需要使用它来删除通过 CodePipeline 创建的 Webhook 与用于检测事件的外部工具之间的连接。目前仅支持目标是 GitHub 的操作类型的 Webhook。

Webhook

arn:aws:codepipeline:region:account:webhook:webhook-name

DisableStageTransition

codepipeline:DisableStageTransition

防止管道中的项目过渡到管道中的下一阶段所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

EnableStageTransition

codepipeline:EnableStageTransition

允许管道中的项目过渡到管道中的某一阶段所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

GetJobDetails

codepipeline:GetJobDetails

检索有关作业的信息所必需的。仅用于自定义操作。

不需要资源。

GetPipeline

codepipeline:GetPipeline

检索管道的结构、阶段、操作和元数据所必需的,包括管道 ARN。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

GetPipelineExecution

codepipeline:GetPipelineExecution

检索有关管道执行的信息,包括有关项目的详细信息、管道执行 ID 以及管道的名称、版本和状态所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

GetPipelineState

codepipeline:GetPipelineState

检索有关管道状态的信息,包括阶段和操作所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

GetThirdPartyJobDetails

codepipeline:GetThirdPartyJobDetails

请求第三方操作的作业详细信息所必需的。仅用于合作伙伴操作。

仅支持在策略的 Resource 元素中使用通配符(*)。
ListActionExecutions

codepipeline:ListActionExecutions

生成操作的所有执行的摘要所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

ListActionTypes

codepipeline:ListActionTypes

需要它才能生成与您的账户相关联的所有 CodePipeline 操作类型摘要。

仅支持在策略的 Resource 元素中使用通配符(*)。

ListPipelineExecutions

codepipeline:ListPipelineExecutions

生成最新管道执行的摘要所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

ListPipelines

codepipeline:ListPipelines

生成与您的账户相关联的所有管道的摘要所必需的。

带通配符的管道 ARN(不支持管道名称级别的资源级权限)

arn:aws:codepipeline:region:account:*

ListTagsForResource

codepipeline:ListTagsForResource

列出指定资源的标签所必需的。

资源是可选的。

操作类型

arn:aws:codepipeline:region:account:actiontype:owner/category/provider/version

管道运输

arn:aws:codepipeline:region:account:pipeline-name

Webhook

arn:aws:codepipeline:region:account:webhook:webhook-name

ListWebhooks

codepipeline:ListWebhooks

列出该区域的账户中的所有 Webhook 所必需的。

Webhook

arn:aws:codepipeline:region:account:webhook:webhook-name

PollForJobs

codepipeline:PollForJobs

获取该区域中此账户的所有 Webhook 的列表所必需的。

操作类型

arn:aws:codepipeline:region:account:actiontype:owner/category/provider/version

PollForThirdPartyJobs

codepipeline:PollForThirdPartyJobs

确定是否存在作业辅助角色要对其采取行动的任何第三方作业所必需的。仅用于合作伙伴操作。

仅支持在策略的 Resource 元素中使用通配符(*)。

PutActionRevision

codepipeline:PutActionRevision

需要它才能向 CodePipeline 报告与源的新修订相关的信息。

操作

arn:aws:codepipeline:region:account:pipeline-name/stage-name/action-name

PutApprovalResult

codepipeline:PutApprovalResult

需要它才能向 CodePipeline 报告对手动审批请求的响应。有效响应是 ApprovedRejected

操作

arn:aws:codepipeline:region:account:pipeline-name/stage-name/action-name

注意

此 API 调用支持资源级权限。但是,如果您使用 IAM 控制台或 Policy Generator 来通过 "codepipeline:PutApprovalResult" 创建指定资源 ARN 的策略,则可能会遇到错误。如果您遇到错误,则可以使用 IAM 控制台中的 JSON 选项卡或 CLI 来创建策略。

PutJobFailureResult

codepipeline:PutJobFailureResult

报告作业辅助角色返回给管道的作业失败状态所必需的。仅用于自定义操作。

仅支持在策略的 Resource 元素中使用通配符(*)。

PutJobSuccessResult

codepipeline:PutJobSuccessResult

报告作业辅助角色返回给管道的作业成功状态所必需的。仅用于自定义操作。

仅支持在策略的 Resource 元素中使用通配符(*)。

PutThirdPartyJobFailureResult

codepipeline:PutThirdPartyJobFailureResult

报告作业辅助角色返回给管道的第三方作业失败状态所必需的。仅用于合作伙伴操作。

仅支持在策略的 Resource 元素中使用通配符(*)。

PutThirdPartyJobSuccessResult

codepipeline:PutThirdPartyJobSuccessResult

报告作业辅助角色返回给管道的第三方作业成功状态所必需的。仅用于合作伙伴操作。

仅支持在策略的 Resource 元素中使用通配符(*)。

PutWebhook

codepipeline:PutWebhook

创建 Webhook 所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

Webhook

arn:aws:codepipeline:region:account:webhook:webhook-name

RegisterWebhookWithThirdParty

codepipeline:RegisterWebhookWithThirdParty

创建 Webhook 之后,配置支持的第三方以调用所生成的 Webhook URL 时所必需的

Webhook

arn:aws:codepipeline:region:account:webhook:webhook-name

RetryStageExecution

codepipeline:RetryStageExecution

通过重试阶段中最后一个失败的操作来恢复管道执行所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name/stage-name

StartPipelineExecution

codepipeline:StartPipelineExecution

启动指定管道(具体来说,开始处理指定为管道一部分的源位置的最新提交内容)所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

StopPipelineExecution

codepipeline:StopPipelineExecution

停止指定管道执行所必需的。您可以通过以下两种方式之一来停止管道执行:完成正在进行的操作而不启动后续操作,或者放弃正在进行的操作。

管道运输

arn:aws:codepipeline:region:account:pipeline-name

TagResource

codepipeline:TagResource

标记指定资源所必需的。

资源是可选的。

操作类型

arn:aws:codepipeline:region:account:actiontype:owner/category/provider/version

管道运输

arn:aws:codepipeline:region:account:pipeline-name

Webhook

arn:aws:codepipeline:region:account:webhook:webhook-name

UntagResource

codepipeline:UntagResource

取消标记指定资源所必需的。

资源是可选的。

操作类型

arn:aws:codepipeline:region:account:actiontype:owner/category/provider/version

管道运输

arn:aws:codepipeline:region:account:pipeline-name

Webhook

arn:aws:codepipeline:region:account:webhook:webhook-name

UpdatePipeline

codepipeline:UpdatePipeline

使用对管道结构所做编辑或更改更新指定管道所必需的。

管道运输

arn:aws:codepipeline:region:account:pipeline-name