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

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

使用测试报告权限

本主题介绍与测试报告相关权限有关的重要信息。

为测试报告创建角色

要运行测试报告,并更新项目以包含测试报告,您的 IAM 角色需要以下权限。这些权限包含在预定义的 Amazon 托管策略中。如果要将测试报告添加到现有构建项目,则必须自行添加这些权限。

  • CreateReportGroup

  • CreateReport

  • UpdateReport

  • BatchPutTestCases

要运行代码覆盖率报告,您的 IAM 角色还必须包含 BatchPutCodeCoverages 权限。

注意

BatchPutTestCasesCreateReportUpdateReportBatchPutCodeCoverages 不是公共权限。您不能为这些权限调用相应的 Amazon CLI 命令或 SDK 方法。

要确保您拥有这些权限,您可以将以下策略附加到您的 IAM 角色:

{ "Effect": "Allow", "Resource": [ "*" ], "Action": [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages" ] }

我们建议您将此策略仅限定用于您必须使用的报告组。以下内容将权限仅限定用于策略中具有两个 ARN 的报告组:

{ "Effect": "Allow", "Resource": [ "arn:aws:codebuild:your-region:your-aws-account-id:report-group/report-group-name-1", "arn:aws:codebuild:your-region:your-aws-account-id:report-group/report-group-name-2" ], "Action": [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages" ] }

以下内容将权限仅限定用于通过运行名为 my-project 的项目构建而创建的报告组:

{ "Effect": "Allow", "Resource": [ "arn:aws:codebuild:your-region:your-aws-account-id:report-group/my-project-*" ], "Action": [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages" ] }
注意

项目中指定的 CodeBuild 服务角色用于授予上传到 S3 存储桶的权限。

您可以为以下测试报告 CodeBuild API 操作指定权限:

  • BatchGetReportGroups

  • BatchGetReports

  • CreateReportGroup

  • DeleteReportGroup

  • DeleteReport

  • DescribeTestCases

  • ListReportGroups

  • ListReports

  • ListReportsForReportGroup

  • UpdateReportGroup

有关更多信息,请参阅 Amazon CodeBuild 权限参考

测试报告权限示例

有关测试报告相关示例策略的信息,请参阅以下内容: