【正解】D
【0からの解説】
①前提知識
・組織のポリシー サービス:組織・フォルダ・プロジェクトというリソース階層に対して、作成できるリソースや使える設定を一元的に制約する仕組みです。ポリシーは階層の下位へ継承され、特定のフォルダやプロジェクトにだけ設定することもできます。
・リソース ロケーションの制限(制約 gcp.resourceLocations):ロケーションを持つリソースを作成できる場所を制限する組織のポリシーの制約です。例えば値グループ in:eu-locations を許可値にすれば、EU のロケーション(EU のリージョンやマルチリージョン eu など)だけを許可でき、それ以外のロケーションでの作成リクエストは実行時にエラーで拒否されます。既存のリソースには遡って適用されない点に注意します。
②要件の整理
・欧州の法律で規制されたワークロードについて、EU 以外でのリソース作成を「制限」したい(予防的な統制)
・このワークロードだけに適用し、他のグローバル アプリケーションには支障を与えない
・効果的な方法
③正解の理由
規制対象のワークロードを専用のプロジェクトまたはフォルダにまとめ、そこにだけ gcp.resourceLocations で EU のロケーションのみを許可する組織のポリシーを設定すれば、EU 以外でのリソース作成は作成時点で拒否されます。ポリシーはそのフォルダ/プロジェクト(とその配下)にのみ適用されるため、他のグローバル アプリケーションには影響しません。コード不要の宣言的な設定で、Google が推奨するデータ所在地(データ レジデンシー)の対策です(より厳格な要件には、同様の制約をまとめて適用する Assured Workloads も利用できます)。
【誤りの選択肢】
A:Cloud Functions(現 Cloud Run functions)で作成後に検出して削除するのは事後対応(検出型)の仕組みであり、作成そのものを制限できません。削除されるまでの間はデータが EU 外に存在し得るうえ、独自コードの開発・保守が必要で、検出漏れや削除失敗のリスクもあります。組織のポリシーに比べて効果的とはいえません。
B:EU のリージョン サブネットに作成するのは運用上の取り決めにすぎず、Cloud Storage バケットや BigQuery データセットなどサブネットと関係のないリソースは任意のロケーションに作成できてしまいます。EU 外での作成を技術的に禁止する仕組みになっていません。
C:VPC Service Controls は、サービス境界によって Google Cloud サービスの API へのアクセスを制御し、データの引き出し(流出)を防ぐ仕組みです。リソースを作成できる地理的なロケーションを制限する機能ではないため、要件を満たしません。
【参考】
リソースのロケーションを制限する | Organization Policy