共享报告组 - AWS CodeBuild

共享报告组

报告组共享允许多个 AWS 账户或用户查看报告组、其未过期报告及其报告的测试结果。在此模型中,拥有报告组的账户(拥有者)将与其他账户(使用者)共享该报告组。使用者无法编辑报告组。报告在创建后 30 天过期。

共享报告组

共享报告组时,将向使用者授予对报告组及其报告的只读访问权限。使用者可以使用 AWS CLI 查看报告组、报告,以及每个报告的测试用例结果。使用者不能执行以下操作:

  • 在 CodeBuild 控制台中查看共享报告组或其报告。

  • 编辑共享报告组。

  • 使用项目中的共享报告组的 ARN 运行报告。指定共享报告组的项目构建将失败。

您可以使用 CodeBuild 控制台将报告组添加到现有资源共享。如果要将报告组添加到新的资源共享,则必须首先在 AWS RAM 控制台中创建资源共享。

要与组织单位或整个组织共享报告组,您必须启用与 AWS Organizations 的共享。有关更多信息,请参阅《AWS RAM 用户指南》中的允许与 AWS Organizations 共享

您可以使用 CodeBuild 控制台、AWS RAM 控制台或 AWS CLI 共享您拥有的报告组。

先决条件

要共享报告组,您的 AWS 账户必须拥有该报告组。无法共享已与您共享的报告组。

共享您拥有的报告组(CodeBuild 控制台)
  1. https://console.aws.amazon.com/codesuite/codebuild/home 打开 AWS CodeBuild 控制台。

  2. 在导航窗格中,选择报告组

  3. 选择要共享的项目,然后选择共享。有关更多信息,请参阅《AWS RAM 用户指南》中的创建资源共享

共享您拥有的报告组(AWS RAM 控制台)

请参阅《AWS RAM 用户指南》中的创建资源共享

共享您拥有的报告组(AWS RAM 命令)

使用 create-resource-share 命令。

共享您拥有的报告组(CodeBuild 命令)

使用 put-resource-policy 命令:

  1. 创建一个名为 policy.json 的文件,并将以下内容复制到该文件中。

    { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Principal":{ "AWS":"consumer-aws-account-id-or-user" }, "Action":[ "codebuild:BatchGetReportGroups", "codebuild:BatchGetReports", "codebuild:ListReportsForReportGroup", "codebuild:DescribeTestCases"], "Resource":"arn-of-report-group-to-share" }] }
  2. 使用报告组 ARN 和标识符更新 policy.json,以便共享该报告组。以下示例向 Alice 授予具有 ARN arn:aws:codebuild:us-west-2:123456789012:report-group/my-report-group 的报告组的只读访问权限,并向 123456789012 标识的 AWS 账户授予根用户身份。

    { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Principal":{ "AWS": [ "arn:aws:iam::123456789012:user/Alice", "123456789012" ] }, "Action":[ "codebuild:BatchGetReportGroups", "codebuild:BatchGetReports", "codebuild:ListReportsForReportGroup", "codebuild:DescribeTestCases"], "Resource":"arn:aws:codebuild:us-west-2:123456789012:report-group/my-report-group" }] }
  3. 运行以下命令。

    aws codebuild put-resource-policy --resource-arn report-group-arn --policy file://policy.json

报告组共享与 AWS Resource Access Manager(AWS RAM)集成,后者是一项服务,使您可以与任何 AWS 账户或通过 AWS Organizations 共享 AWS 资源。通过使用 AWS RAM,您可以通过创建资源共享 来共享您拥有的资源,该共享指定要共享的资源和要与其共享资源的使用者。使用者可以是单个 AWS 账户、AWS Organizations 中的组织部门或 AWS Organizations 中的整个组织。

有关更多信息,请参阅《AWS RAM 用户指南》https://docs.aws.amazon.com/ram/latest/userguide/