スコープ指定されたポリシー

スコープ指定されたポリシーは、組織全体に適用できるアクセス ポリシーとともに、特定のフォルダやプロジェクトに限定して適用されるアクセス ポリシーです。スコープ指定されたポリシーを使用して、VPC Service Controls の境界とアクセスレベルの管理をフォルダレベルとプロジェクト レベルの管理者に委任できます。

1 つの組織に設定できるアクセス ポリシーは組織レベルで 1 つだけで、組織レベルのアクセス ポリシーを組織内の任意のフォルダまたはプロジェクトに適用できます。

フォルダなど、組織のリソースのサブセットに対するポリシー管理を委任管理者に委任したい場合があります。組織全体に適用できるアクセス ポリシーとともに、特定のフォルダまたはプロジェクトに限定したアクセス ポリシーを作成できます。VPC Service Controls の境界とアクセスレベルの管理をフォルダレベルとプロジェクト レベルの管理者に委任するには、スコープ指定されたポリシーを使用します。

スコープ指定されたポリシーの管理を委任すると、委任された管理者は、組織の Access Context Manager ポリシーではなく、その特定のポリシーを変更または読み取ることが可能になります。スコープ指定されたポリシーにより、VPC Service Controls の境界で制限できるリソースと、あらゆるアクセスレベルの可視性が制限されます。

スコープ指定されたポリシーの管理

組織レベルの Access Context Manager 管理者は、スコープ指定されたポリシーを作成、変更、削除できます。Access Context Manager ポリシーに Identity and Access Management(IAM)バインディングを直接指定し、Access Context Manager ポリシーの管理を組織内の他のユーザーにさらに委任できます。スコープ指定されたポリシーの管理者は、ポリシーでサービス境界とアクセスレベルを構成できます。ただし、スコープ指定されたポリシーの管理者は、新しいポリシーの作成や、別のフォルダやプロジェクトに適用するポリシーのスコープの変更はできません。

管理者がスコープ指定されたポリシーを管理する手順は以下のとおりです。

  1. 組織レベルの管理者は、特定のフォルダまたはプロジェクトを参照するスコープ フィールドを使用して、新しいアクセス ポリシーを作成します。

  2. 組織レベルの管理者は、アクセス ポリシー リソースで直接、委任された管理者に IAM 権限を割り当てます。委任された管理者は、スコープ指定されたポリシーに対する権限を持ちますが、組織レベルの管理者が委任された管理者に明示的に割り当てない限り、他のポリシーに対する権限はありません。

  3. 委任管理者がポリシーを編集してサービスレベルとサービス境界を構成できるようになりました。委任管理者は、そのポリシーの IAM 権限を他のユーザーに付与することもできます。

フォルダまたはプロジェクトを削除すると、スコープとして削除されたフォルダまたはプロジェクトを持つポリシーも削除されます。また、組織階層内の別のノードにプロジェクトを移動しても、そのプロジェクトにスコープ指定されたポリシーは自動的に変更されません。プロジェクトに関連付けられたポリシーを削除し、ポリシーを再作成してスコープを指定する必要があります。

スコープ指定されたポリシーの階層

組織リソースは Google Cloud リソース階層のルートノードであり、組織に属するすべてのリソースは組織ノードの子として存在します。フォルダは、プロジェクトの上位にあるグループ化メカニズムです。フォルダとプロジェクトは、組織リソースの子ノードとして存在します。

次の図は、各部門のフォルダを含む組織の例を示しており、フォルダには開発プロジェクト、テスト プロジェクト、本番環境プロジェクトが含まれています。

デプロイ アーキテクチャ

サンプル組織では、次の制約がスコープ指定されたポリシーのサービス境界またはアクセスレベルに適用されます。

  • スコープ指定されたポリシーのサービス境界は、そのポリシーのスコープ内に存在するリソースのみを制限できます。たとえば、Engineering フォルダをスコープとするポリシーのサービス境界では、プロジェクトがEngineering フォルダにあるため、example-dev、example-prod、example-test のプロジェクトを保護できます。

    スコープ指定されたポリシーが sales フォルダに適用される場合、そのポリシーのサービス境界は example-dev、example-prod、example-test プロジェクトを保護することができません。ただし、スコープ指定されたポリシーのサービス境界は、上り(内向き)ルールと下り(外向き)ルールを使用して、他のフォルダ内のプロジェクトへのアクセスを許可できます。

  • スコープ指定されたポリシーのアクセスレベルは、ポリシーのスコープ内でのみ表示されます。Engineering フォルダをスコープとするポリシーでアクセスレベルを作成する場合、Engineering フォルダのサービス境界とアクセスレベルのみが使用できます。他のフォルダのサービス境界とアクセスレベルでは、Engineering フォルダで定義されたアクセスレベルを使用できません。

example.com 組織のリソース階層内のフォルダなどの場所には、アクセスレベルまたはサービス境界を含む複数のポリシーを含めることができます。複数のポリシーが存在する場合、example.com 組織のリソースに対するリクエストは、次のルールに基づいて評価されます。

  • ポリシーには、フォルダなどのスコープを 1 つしか含めることができませんが、組織のレベルごとにポリシーを作成できます。たとえば、ポリシー 1 のスコープがエンジニアリング フォルダである場合、エンジニアリング フォルダを他のポリシーのスコープとして設定することはできません。example-prod など、スコープがエンジニアリング フォルダの子に設定された別のポリシーを設定できます。

  • ポリシーのスコープがプロジェクトまたはプロジェクトの親に適用される場合は、そのプロジェクトをポリシーに追加できます。ただし、プロジェクトは、すべてのポリシーで 1 つのサービス境界のメンバーにのみ使用できます。たとえば、スコープが組織 example.com に設定されたポリシーでは、example-dev を使用してサービス境界を定義できます。スコープがエンジニアリング フォルダに設定されているか、スコープが example-dev プロジェクトに設定されているポリシーでも、いずれかで定義される境界に example-dev プロジェクトを追加できます。ただし、このプロジェクトを含めることができるのは、これらの 3 つのポリシーのうち 1 つだけです。

次のステップ