测试报告权限 - AWS CodeBuild

测试报告权限

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

测试报告的 IAM 角色

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

  • CreateReportGroup

  • CreateReport

  • UpdateReport

  • BatchPutTestCases

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

注意

BatchPutTestCasesCreateReportUpdateReportBatchPutCodeCoverages 不是公共权限。您不能调用相应的 AWS CLI 命令或开发工具包方法来获得这些权限。

要确保您拥有这些权限,您可以将以下策略附加到您的 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

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

测试报告权限示例

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