AWS CodeBuild
用户指南 (API 版本 2016-10-06)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

CodeBuild 权限参考

在设置访问控制和编写您可附加到 IAM 身份的权限策略(基于身份的策略)时,可以使用下表作为参考。

您可以在 AWS CodeBuild 策略中使用 AWS 范围的条件键来表达条件。有关列表,请参阅 IAM User Guide 中的可用密钥

请在策略的 Action 字段中指定这些操作。要指定操作,请在 API 操作名称之前使用 codebuild: 前缀 (例如,codebuild:CreateProjectcodebuild:StartBuild)。要在单个语句中指定多项操作,请使用逗号将它们隔开(例如,"Action": [ "codebuild:CreateProject", "codebuild:StartBuild" ])。

使用通配符

您可以在策略的 Resource 字段中指定带或不带通配符 (*) 的 ARN 作为资源值。您可以使用通配符指定多个操作或资源。例如,codebuild:* 指定所有 CodeBuild 操作,codebuild:Batch* 指定以单词 Batch 开头的所有 CodeBuild 操作。以下示例授予对以 my名称开头的所有构建项目的访问权限:

arn:aws:codebuild:us-east-2:123456789012:project/my*

If you see an expand arrow () in the upper-right corner of the table, you can open the table in a new window. To close the window, choose the close button (X) in the lower-right corner.

CodeBuild API 操作和必需的操作权限

AWS CodeBuild API 操作 所需权限 (API 操作) 资源
BatchDeleteBuilds

codebuild:BatchDeleteBuilds

删除构建所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

BatchGetBuilds

codebuild:BatchGetBuilds

获取有关构建项目的信息所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

BatchGetProjects

codebuild:BatchGetProjects

获取有关构建项目的信息所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

CreateProject

codebuild:CreateProject

iam:PassRole

是创建构建项目所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

arn:aws:iam:account-ID:role/role-name

CreateWebhook

codebuild:CreateWebhook

创建 Webhook 所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

DeleteProject

codebuild:DeleteProject

是删除构建项目所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

DeleteSourceCredentials

codebuild:DeleteSourceCredentials

要求删除一组 SourceCredentialsInfo 对象,其中包含有关 GitHub、GitHub Enterprise 或 Bitbucket 存储库的凭证的信息。

*

DeleteWebhook

codebuild:DeleteWebhook

删除 Webhook 所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

ImportSourceCredentials

codebuild:ImportSourceCredentials

要求导入一组 SourceCredentialsInfo 对象,其中包含有关 GitHub、GitHub Enterprise 或 Bitbucket 存储库的凭证的信息。

*

InvalidateProjectCache

codebuild:InvalidateProjectCache

是重置项目缓存所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

ListBuilds codebuild:ListBuilds

是获取构建 ID 的列表所必需的。

*

ListBuildsForProject

codebuild:ListBuildsForProject

是获取构建项目的构建 ID 列表所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

ListCuratedEnvironmentImages

codebuild:ListCuratedEnvironmentImages

是获取由 CodeBuild 管理的所有 Docker 镜像的相关信息所必需的。

*(必需,但不引用可寻址的 AWS 资源)

ListSourceCredentials

codebuild:ListSourceCredentials

要求获取 SourceCredentialsInfo 对象的列表,其中包含有关 GitHub、GitHub Enterprise 或 Bitbucket 存储库的凭证的信息。

*

ListProjects

codebuild:ListProjects

是获取构建项目名称的列表所必需的。

*

StartBuild

codebuild:StartBuild

是开始运行构建项目所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

StopBuild

codebuild:StopBuild

是尝试停止运行中构建项目所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

UpdateProject

codebuild:UpdateProject

iam:PassRole

是更改构建项目的相关信息所必需的。

arn:aws:codebuild:region-ID:account-ID:project/project-name

arn:aws:iam:account-ID:role/role-name

UpdateWebhook

codebuild:UpdateWebhook

为更新 Webhook 所必需。

arn:aws:codebuild:region-ID:account-ID:project/project-name