レポートグループを共有 - 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. AWS CodeBuild コンソール (https://console.aws.amazon.com/codesuite/codebuild/home) を開きます。

  2. ナビゲーションペインで、[Report groups (レポートグループ)] を選択します。

  3. 共有するプロジェクトを選択し、[Share (共有)] を選択します。詳細については、AWS RAM ユーザーガイドの「リソースの共有の作成」を参照してください。

所有するレポートグループを共有するには (AWS RAM コンソール)

AWS RAM ユーザーガイド の「リソース共有の作成」を参照してください。

所有するレポートグループを共有するには (AWS RAM コマンド)

create-resource-share コマンドを使用します。

所有するレポートグループを共有するには (CodeBuild コマンド)

put-resource-policy コマンドを使用します:

  1. policy.json という名前のファイルを作成し、その中に次をコピーします。

    JSON
    { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Principal":{ "AWS":"111122223333" }, "Action":[ "codebuild:BatchGetReportGroups", "codebuild:BatchGetReports", "codebuild:ListReportsForReportGroup", "codebuild:DescribeTestCases"], "Resource":"arn:aws:iam::*:role/Service*" }] }
  2. レポートグループ ARN とそれを共有する識別子で policy.json を更新します。次の例では、ARN arn:aws:codebuild:us-west-2:123456789012:report-group/my-report-group を持つレポートグループへの読み取り専用アクセスを 123456789012 で識別される AWS アカウントの Alice と root ユーザーに付与します。

    JSON
    { "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 (AWS Organizations) と統合されます。AWS RAM では、リソースと共有するコンシューマを指定する リソース共有 を作成して、所有するリソースを共有します。コンシューマーは、個別の AWS アカウントや、AWS Organizations 内の組織単位または AWS Organizations 組織全体として指定できます。

詳細については、AWS RAM ユーザーガイドを参照してください。