このトピックでは、VPC Service Controls の概要と、そのメリットおよび機能について説明します。
VPC Service Controls を使用してデータ漏洩のリスクを軽減する方法
組織は、知的財産を機密性の高いデータの形で所有しており、失われるとビジネスに重大な影響が生じる可能性があります。VPC Service Controls は、外部エンティティや内部エンティティによる意図しない操作や標的型の攻撃を防止します。これにより、Cloud Storage や BigQuery などの Google Cloud サービスからの不正なデータ漏洩リスクを最小限に抑えることができます。VPC Service Controls を使用すると、明示的に指定したサービスのリソースとデータを保護する境界を作成できます。
VPC Service Controls では、次のコントロールを定義することで Google Cloud サービスを保護します。
境界内でリソースへのプライベート アクセスが許可されているクライアントは、境界外の未承認のリソース(公開される可能性があるリソース)にアクセスできません。
gsutil cp
やbq mk
などのサービス オペレーションによって、境界外の未承認リソースにデータをコピーすることはできません。境界で分離されたクライアントとリソース間のデータ交換は、上り(内向き)ルールと下り(外向き)ルールを使用して保護されます。
リソースへのコンテキストアウェア アクセスは、ID タイプ(サービス アカウントまたはユーザー)、ID、デバイスデータ、ネットワーク送信元(IP アドレスまたは VPC ネットワーク)などのクライアント属性に基づいています。コンテキストアウェア アクセスの例を次に示します。
Google Cloud またはオンプレミス上にある境界外のクライアントは、承認済みの VPC ネットワーク内にあり、限定公開の Google アクセスを使用して境界内のリソースにアクセスします。
境界内のリソースへのインターネットからのアクセスは、IPv4 と IPv6 のアドレス範囲に制限されます。
詳しくは、上り(内向き)ルールを使用したコンテキストアウェア アクセスをご覧ください。
VPC Service Controls によって、Identity and Access Management(IAM)から独立している Google Cloud サービスに対するセキュリティが強化されます。IAM では詳細な ID ベースのアクセス制御が可能ですが、VPC Service Controls では、境界全体での下り(外向き)データの制御など、コンテキスト ベースの境界セキュリティが可能になります。多層的な防御を行うため、VPC Service Controls と IAM の併用をおすすめします。
VPC Service Controls のセキュリティ上の利点
VPC Service Controls は、Google Cloud リソースへの直接的なプライベート アクセスのパフォーマンス上の利点を犠牲にすることなく、次のセキュリティ リスクを緩和します。
盗まれた認証情報を使用した不正なネットワークからのアクセス: VPC Service Controls は、承認済みの VPC ネットワークからのプライベート アクセスのみを許可します。これにより、OAuth やサービス アカウントの認証情報の盗難を防ぎます。
悪意のある関係者や感染コードによるデータ漏洩: VPC Service Controls では、下り(外向き)ネットワーク内のクライアントは境界外にある Google マネージド サービスのリソースにアクセスできません。これにより、これらのネットワークの制御が強化されます。
VPC Service Controls では、サービス オペレーションで境界外のリソースにデータの読み取りやコピーを行うことはできません。VPC Service Controls では、
gsutil cp
コマンドでの Cloud Storage 公開バケットへのコピー、bq mk
コマンドでの永続的な外部 BigQuery テーブルへのコピーなどのサービス オペレーションは行えません。Google Cloud では、VPC Service Controls と統合された制限付きの仮想 IP も用意されています。制限付き VIP では、VPC Service Controls でサポートされているサービスに対するリクエストをインターネットに公開することなく実行できます。
IAM ポリシーの誤構成による非公開データの開示: VPC Service Controls では、IAM ポリシーの誤った構成が原因で非公開データが開示されている場合でも、未承認のネットワークからのアクセスを拒否することでセキュリティをさらに強化できます。
サービスへのアクセスのモニタリング: VPC Service Controls をドライラン モードで使用して、アクセスを阻止せずに保護されたサービスへのリクエストを監視し、プロジェクトへのトラフィック リクエストを把握します。また、Honeypot 境界を作成して、アクセス可能なサービスを探ろうとする予期しない、または悪意のある試行を特定できます。
組織のアクセス ポリシーを使用して、Google Cloud 組織全体に対して VPC Service Controls を構成できます。また、スコープ ポリシーを使用して、組織内のフォルダまたはプロジェクトに対して VPC Service Controls を構成できます。境界内では、データの処理、変換、コピーを柔軟に行うことができます。セキュリティ制御は、境界内に新しく作成されたリソースに自動的に適用されます。
VPC Service Controls とメタデータ
VPC Service Controls は、メタデータの移動を包括的に制御するようには設計されていません。
ここで、「データ」は Google Cloud リソースに格納されているコンテンツとして定義されます。たとえば、Cloud Storage オブジェクトのコンテンツなどです。「メタデータ」はリソースまたはその親の属性として定義されます。たとえば、Cloud Storage のバケット名などがメタデータになります。
VPC Service Controls の主な目的は、サポート対象のサービスを介して、サービス境界を越えたデータ(メタデータではなく)の移動を制御することです。VPC Service Controls はメタデータへのアクセスも管理しますが、VPC Service Controls のポリシー チェックを経ずにメタデータのコピーやアクセスができる場合もあります。
メタデータへのアクセスを適切に制御するため、カスタムロールを含む IAM を使用することをおすすめします。
機能
VPC Service Controls では、信頼できる境界の外部にある Google マネージド サービスへのアクセスを禁止して、信頼できない場所からのデータへのアクセスをブロックし、データ漏洩のリスクを軽減するセキュリティ ポリシーを定義できます。VPC Service Controls は、次のような場合に使用できます。
Google Cloud リソースと VPC ネットワークをサービス境界で分離する
インターネットから Google Cloud リソースへのアクセスを制御する
上り(内向き)ルールと下り(外向き)ルールを使用して境界と組織間のデータ交換を保護する
上り(内向き)ルールを使用して、クライアント属性に基づいてリソースへのコンテキストアウェア アクセスを許可する
Google Cloud リソースをサービス境界で分離する
サービス境界は、Google Cloud リソースのセキュリティ境界を作成します。境界を構成して、仮想マシン(VM)から Google Cloud サービス(API)への通信や Google Cloud サービス間の通信を制御できます。境界を設定すると、境界内では自由に通信できますが、境界を越える Google Cloud サービスとの通信はデフォルトでブロックされます。インターネット上のサードパーティの API やサービスへのアクセスは、境界でブロックされません。
以下に、セキュリティ境界を作成する VPC Service Controls の例を示します。
サービス境界を構成する Virtual Private Cloud(VPC)ネットワーク内の VM は、同じ境界内の Cloud Storage バケットとデータの読み書きを行います。ただし、VPC Service Controls では、境界外の VPC ネットワークの VM から境界内の Cloud Storage バケットへのアクセスを許可できません。境界外の VPC ネットワーク内の VM が境界内の Cloud Storage バケットにアクセスできるようにするには、上り(内向き)ポリシーを指定する必要があります。
複数の VPC ネットワークを含むホスト プロジェクトは、ホスト プロジェクト内の VPC ネットワークごとに異なる境界ポリシーを持ちます。
2 つの Cloud Storage バケット間のコピー オペレーションは、両方のバケットが同じサービス境界内にある場合は成功しますが、一方のバケットが境界外にある場合、コピー オペレーションは失敗します。
VPC Service Controls は、サービス境界内の VPC ネットワークの VM に境界外の Cloud Storage バケットへのアクセスを許可しません。
次の図に、境界内の VPC プロジェクトと Cloud Storage バケットの間の通信を許可し、境界を越える通信はすべてブロックするサービス境界を示します。
承認済みの VPN または Cloud Interconnect に境界を拡張する
限定公開の Google アクセスのオンプレミス拡張機能を使用して、ハイブリッド環境にまたがる VPC ネットワークから、Google Cloud リソースへのプライベート通信を構成できます。VPC ネットワークは、同じサービス境界内にある Google Cloud マネージド リソースに非公開でアクセスできるように、ネットワーク上の VM のサービス境界に定義されている必要があります。
プライベート IP アドレスが割り振られ、サービス境界を構成する VPC ネットワーク上にある VM は、サービス境界外のマネージド リソースにアクセスできません。必要であれば、インターネット経由のすべての Google API(Gmail など)に対して、調査済みで監査済みのアクセス権を引き続き使用できます。
次の図は、限定公開の Google アクセスを使用するハイブリッド環境に拡張されるサービス境界を示しています。
インターネットから Google Cloud リソースへのアクセスを制御する
デフォルトでは、インターネットからサービス境界内のマネージド リソースへのアクセスは拒否されています。必要に応じて、リクエストのコンテキストに基づいてアクセスを有効にできます。有効にするには、送信元 IP アドレスなどのさまざまな属性に基づいてアクセスを制御するアクセスレベルを作成します。インターネットからのリクエストがアクセスレベルで定義された基準を満たしていないと、リクエストは拒否されます。
Google Cloud コンソールを使用して境界内のリソースにアクセスするには、1 つ以上の IPv4 または IPv6 の範囲からのアクセスと特定のユーザー アカウントへのアクセスを許可するアクセスレベルを構成します。
次の図は、IP アドレスやデバイス ポリシーなど、構成されたアクセスレベルに基づいて、インターネットから保護リソースへのアクセスを許可するサービス境界を示しています。
サポートされていないサービス
VPC Service Controls でサポートされているプロダクトとサービスの詳細については、サポートされているプロダクトのページをご覧ください。
gcloud
コマンドライン ツールまたは Access Context Manager API を使用して、サポートされていないサービスを制限しようとするとエラーが発生します。
サポートされているサービスのデータに対するプロジェクト間のアクセスは、VPC Service Controls によってブロックされます。また、制限付き VIP を使用して、サポートされていないサービスを呼び出すワークロードをブロックできます。
既知の制限事項
VPC Service Controls を使用する場合、特定の Google Cloud サービス、プロダクト、インターフェースでいくつかの制限事項が確認されています。たとえば、VPC Service Controls はすべての Google Cloud サービスに対応しているわけではありません。 したがって、サポートされていない Google Cloud サービスは境界内では有効にしないでください。詳細については、VPC Service Controls でサポートされているプロダクト リストをご覧ください。 VPC Service Controls でサポートされていないサービスを使用する必要がある場合は、境界外のプロジェクトでサービスを有効にします。
Google Cloud サービスを境界に含める前に、既知の制限事項を確認することをおすすめします。詳細については、VPC Service Controls サービスの制限をご覧ください。
用語
このトピックでは、VPC Service Controls の新しいコンセプトについて学習しました。
- VPC Service Controls
- Google マネージド サービスのリソースにサービス境界を定義し、これらのサービスとの通信またはサービス間の通信を制御するテクノロジー。
- サービス境界
- Google マネージド リソースのサービス境界。境界内では自由に通信できますが、境界を越える通信はデフォルトでブロックされます。
- 上り(内向き)ルール
- 境界外の API クライアントが、境界内のリソースにアクセスできるようにするルール。
- 下り(外向き)ルール
- 境界内の API クライアントまたはリソースが、境界外の Google Cloud リソースにアクセスできるようにするルール。インターネット上のサードパーティの API やサービスへのアクセスは、境界でブロックされません。
- サービス境界ブリッジ
- 境界ブリッジを使用すると、異なるサービス境界のプロジェクト間で通信が可能になります。境界ブリッジは双方向です。各サービス境界のプロジェクトは、ブリッジのスコープ内で同等にアクセスできます。
- Access Context Manager
- 送信元 IP アドレスなど、クライアントの特定の属性に基づいてリクエストをアクセスレベルに関連付けるコンテキスト認識のリクエスト分類サービス。
- アクセスレベル
- 送信元 IP 範囲、クライアント デバイス、位置情報など、複数の属性に基づくインターネット上のリクエストの分類。リクエストに関連付けられたアクセスレベルに基づいてインターネットからのアクセスを許可するようにサービス境界を構成できます。アクセスレベルは、Access Context Manager サービスによって決定されます。
- アクセス ポリシー
- サービス境界を定義する Google Cloud リソース オブジェクト。組織全体に適用できるアクセス ポリシーとともに、特定のフォルダまたはプロジェクトに限定したアクセス ポリシーを作成できます。
- 制限付き VIP
- 制限付き VIP は、VPC Service Controls でサポートされるプロダクトと API にプライベートなネットワーク ルートを提供します。これらのプロダクトが使用するデータやリソースは、インターネットからアクセスできません。
restricted.googleapis.com
は199.36.153.4/30
として解決されます。この IP アドレス範囲はインターネットに公開されません。
次のステップ
- サービス境界の構成について学習する。
- サービス境界内の VPC ネットワークの管理方法を理解する。
- 既知のサービスの制限を確認する。