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

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

Amazon CodeBuild 权限参考

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

您可以在 Amazon CodeBuild 策略中使用 Amazon 范围的条件键来表示条件。有关列表,请参阅可用键中的IAM 用户指南.

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

使用通配符

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

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

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

BatchDeleteBuilds

操作:codebuild:BatchDeleteBuilds

删除构建所必需的。

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

BatchgetBuild

操作: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

BatchGet 报告组

操作:codebuild:BatchGetReportGroups

获取有关报告组的信息所必需的。

资源: arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name

BatchGetReports

操作:codebuild:BatchGetReports

获取有关报告的信息所必需的。

资源: arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name

BatchPutTestCases ¹

操作:codebuild:BatchPutTestCases

创建或更新测试报告所必需的。

资源: arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name

CreateProject

操作: codebuild:CreateProject, iam:PassRole

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

资源:

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

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

CreateReport ¹

操作:codebuild:CreateReport

创建测试报告所必需的。

资源: arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name

创建报告组

操作:codebuild:CreateReportGroup

创建报告组所必需的。

资源: arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name

CreateWebhook

操作:codebuild:CreateWebhook

创建 Webhook 所必需的。

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

DeleteProject

操作:codebuild:DeleteProject

删除所必需的 CodeBuild 项目。

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

“删除报告”

操作:codebuild:DeleteReport

删除报告所必需的。

资源: arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name

删除报告组

操作:codebuild:DeleteReportGroup

删除报告组所必需的。

资源: arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name

删除源凭据

操作:codebuild:DeleteSourceCredentials

删除一组所必需的SourceCredentialsInfo对象,其中包含有关 GitHub 凭证的信息, GitHub 企业服务器或 Bitbucket 存储库。

资源: *

DeleteWebhook

操作:codebuild:DeleteWebhook

创建 Webhook 所必需的。

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

描述测试案例

操作:codebuild:DescribeTestCases

返回测试用例的分页列表所必需的。

资源: arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name

导入源凭据

操作:codebuild:ImportSourceCredentials

导入一组所必需的SourceCredentialsInfo对象,其中包含有关 GitHub 凭证的信息, GitHub 企业服务器或 Bitbucket 存储库。

资源: *

使项目缓存无效

操作:codebuild:InvalidateProjectCache

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

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

ListBuild 批处理

操作:codebuild:ListBuildBatches

获取构建批处理 ID 的列表所必需的。

资源: *

列表构建项目的批处理

操作:codebuild:ListBuildBatchesForProject

要求获取特定项目的构建批处理 ID 的列表。

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

ListBuilds

操作:codebuild:ListBuilds

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

资源: *

项目的列表构建

操作:codebuild:ListBuildsForProject

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

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

列出策划的环境映像

操作:codebuild:ListCuratedEnvironmentImages

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

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

ListProjects

操作:codebuild:ListProjects

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

资源: *

列出报告组

操作:codebuild:ListReportGroups

获取报告组列表所必需的。

资源: *

列出报告

操作:codebuild:ListReports

获取报告列表所必需的。

资源: *

列出报告组的报告

操作:codebuild:ListReportsForReportGroup

获取报告组的报告列表所必需的。

资源: arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name

RetryBuild

操作:codebuild:RetryBuild

重试生成所必需的。

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

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

更新项目可见性

操作: codebuild:UpdateProjectVisibility, iam:PassRole

更改项目构建的公共可见性所必需的。

资源:

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

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

¹ UpdateReport

操作:codebuild:UpdateReport

创建或更新测试报告所必需的。

资源: arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name

更新报告组

操作:codebuild:UpdateReportGroup

更新报告组所必需的。

资源: arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name

更新 WebHook

操作:codebuild:UpdateWebhook

为更新 Webhook 所必需。

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

¹ 仅用于权限。对于此操作没有 API。