CodePipeline 权限参考 - AWS CodePipeline

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

CodePipeline 权限参考

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

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

注意

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

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

AcknowledgeJob

codepipeline:AcknowledgeJob

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

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

AcknowledgeThirdPartyJob

codepipeline:AcknowledgeThirdPartyJob

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

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

CreateCustomActionType

codepipeline:CreateCustomActionType

创建可在与该 AWS 账户关联的所有管道中使用的自定义操作所必需的。仅用于自定义操作。

操作类型

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 与带有待检测事件的外部工具之间的连接。目前仅支持以操作类型为为为的 Webhook。 GitHub

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