测试报告权限
本主题介绍与测试报告相关权限有关的重要信息。
测试报告的 IAM 角色
要运行测试报告,并更新项目以包含测试报告,您的 IAM 角色需要以下权限。这些权限包含在预定义的 AWS 托管策略中。如果要将测试报告添加到现有构建项目,则必须自行添加这些权限。
-
CreateReportGroup
-
CreateReport
-
UpdateReport
-
BatchPutTestCases
要运行代码覆盖率报告,您的 IAM 角色还必须包含 BatchPutCodeCoverages
权限。
注意
BatchPutTestCases
、CreateReport
、UpdateReport
和 BatchPutCodeCoverages
不是公共权限。您不能调用相应的 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 权限参考。
测试报告权限示例
有关测试报告相关示例策略的信息,请参阅以下内容: