レポートグループを共有すると、複数の AWS アカウントまたはユーザーが、レポートグループ、期限切れのレポートおよびレポートのテスト結果を見ることができます。このモデルでは、レポートグループを所有するアカウント (所有者) は、レポートグループを他のアカウント (コンシューマー) と共有します。コンシューマは、レポートグループを編集できません。レポートは、作成から 30 日後に期限切れになります。
レポートグループを共有
レポートグループを共有すると、コンシューマーには、レポートグループとそのレポートに対する読み取り専用アクセス権が付与されます。コンシューマは AWS CLI を使用して、レポートグループ、そのレポート、および各レポートのテストケースの結果を表示できます。コンシューマは次を行うことはできません。
-
CodeBuild コンソールでの共有レポートグループまたはそのレポートの表示。
-
共有レポートグループの編集。
-
プロジェクト内の共有レポートグループの ARN を使用してレポートを実行。共有レポートグループを指定するプロジェクトのビルドが失敗します。
CodeBuild コンソールを使用して、既存のリソース共有にレポートグループを追加できます。新しいリソース共有にレポートグループを追加する場合は、まずAWS RAM コンソール
レポートグループを組織単位または組織全体と共有するには、AWS Organizations との共有を有効にする必要があります。詳細については、AWS RAM ユーザーガイドの「AWS Organizations で共有を有効化する」を参照してください。
CodeBuild コンソール、AWS RAM コンソールまたは、AWS CLI を使用すると、所有しているレポートグループを共有できます。
前提条件
レポートグループを共有するには、AWS アカウントを所有する必要があります。自分と共有されているレポートグループは共有できません。
所有するレポートグループを共有するには (CodeBuild コンソール)
-
AWS CodeBuild コンソール (https://console.aws.amazon.com/codesuite/codebuild/home
) を開きます。 -
ナビゲーションペインで、[Report groups (レポートグループ)] を選択します。
-
共有するプロジェクトを選択し、[Share (共有)] を選択します。詳細については、AWS RAM ユーザーガイドの「リソースの共有の作成」を参照してください。
所有するレポートグループを共有するには (AWS RAM コンソール)
AWS RAM ユーザーガイド の「リソース共有の作成」を参照してください。
所有するレポートグループを共有するには (AWS RAM コマンド)
create-resource-share コマンドを使用します。
所有するレポートグループを共有するには (CodeBuild コマンド)
put-resource-policy コマンドを使用します:
-
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
" }] } -
レポートグループ ARN とそれを共有する識別子で
policy.json
を更新します。次の例では、ARNarn:aws:codebuild:us-west-2:123456789012:report-group/my-report-group
を持つレポートグループへの読み取り専用アクセスを 123456789012 で識別される AWS アカウントの Alice と root ユーザーに付与します。{ "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" }] }
-
以下のコマンドを実行します。
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 ユーザーガイドを参照してください。