【正解】A
【0からの解説】
①前提知識:IAM の主なポリシーは「どこに付けるか」と「何を制御するか」で区別すると理解しやすくなります。
・許可ポリシー/拒否ポリシー:リソース(組織・フォルダ・プロジェクト・バケットなど)に付け、「このリソースに誰がアクセスできるか/できないか」を決めます。つまり自分が管理するリソースへのアクセスしか制御できません。
・プリンシパル アクセス境界(PAB)ポリシー:プリンシパル(ユーザーやサービス アカウントの集合=プリンシパル セット)の側に付け、「このプリンシパルがアクセスできる可能性のあるリソースの範囲」を定義します。境界外のリソースに対しては、たとえ相手の組織が許可ポリシーで権限を付与していてもアクセスがブロックされます。公式ドキュメントでも、自組織のプリンシパルが他の組織のリソースにアクセスするのを防ぐ(フィッシングやデータ漏洩のリスクを下げる)用途が挙げられています。バインド先には組織のプリンシパル セット、Workforce Identity プール、Google Workspace ドメインなどを指定できます。
・適用バージョン(enforcement version):PAB ポリシーがブロックできる権限の範囲はポリシーの適用バージョンで決まります。Cloud Storage では、バージョン 1 に storage.googleapis.com/objects.get や buckets.get などの主要な権限が含まれ、バージョン 2 で objects.* や buckets.* などのワイルドカードに広がります。新しい権限が意図せずブロックされないよう、latest ではなく必要なバージョンを明示することが推奨されています。
②要件の整理:「IAM の構成」の範囲で、「自組織のユーザー」が「他組織の Cloud Storage バケット」にアクセスするのを防ぐ必要があります。つまり、自分が管理していない(他組織の)リソースへのアクセスを、プリンシパル側から制限しなければなりません。
③正解の理由:自組織のリソースだけを含めた PAB ポリシーを作成し、Cloud Storage の権限をブロックできる適用バージョンを指定して、自組織のプリンシパル セットにバインドします。これにより、自組織のユーザーは他組織のバケットに対して権限を付与されていてもアクセスできなくなります。ネットワーク構成に依存せず、IAM の機能だけで実現できる点が要件に合致します。なお、プリンシパル アクセス境界は比較的新しく追加された IAM の機能です。それ以前は、他組織のリソースへのアクセスを制限する代表的な手段は B の組織内アクセス制限でした。
【誤りの選択肢】
B:組織内アクセス制限(organization restriction)は、社内の下り(外向き)プロキシで HTTP ヘッダー(X-Goog-Allowed-Resources)を付与し、許可した組織以外のリソースへのアクセスを拒否する仕組みです。外部の組織へのアクセスを制限できるという点では、この方法でも目的は果たせます。違いは「何を基準に制限するか」です。組織内アクセス制限は「社内の管理対象ネットワーク・デバイスから出ていく通信」を基準にし、そのプロキシを通る通信であれば誰のアカウント(個人の Google アカウントなど自組織以外のアカウントを含む)でも外部組織へのアクセスを止めます。データ持ち出し対策として社内ネットワークを守りたい場合に向いています。一方、PAB は「自組織のプリンシパル」を基準にし、そのユーザーがどのネットワークからアクセスしても外部組織のリソースに届かないようにします。本問の要件は「IAM の構成」として「組織のユーザー」を制限することなので、プロキシの導入とヘッダー挿入というネットワーク側の構成を前提とし、そのプロキシを経由しない通信(社外ネットワークや個人端末からのアクセスなど)には効かない B より、プリンシパル自体に境界を設定できる A が適しています。
C:IAM 拒否ポリシーは、ポリシーを付けたリソース(自組織の組織・フォルダ・プロジェクト)とその配下へのアクセスを拒否するものです。他組織のバケットは自組織のリソース階層の外にあるため、自組織に付けた拒否ポリシーでは制御できません。
D:ドメインで制限された共有は、自組織のリソースの許可ポリシーに外部ドメインのプリンシパルが追加されるのを防ぐ組織のポリシーの制約です。防ぐのは「外部のユーザーが自組織のリソースに入ってくること」であり、制御の方向が逆です。自組織のユーザーが他組織のリソースへアクセスすることは防げません。
【参考】
プリンシパル アクセス境界ポリシー | Identity and Access Management (IAM)プリンシパル アクセス境界ポリシーの作成と適用 | Identity and Access Management (IAM)組織内アクセス制限の概要 | Resource Manager