VPC Service Controls の構成

このページでは、Cloud SQL プロジェクトで VPC Service Controls を有効にする方法について説明します。

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Console のプロジェクト セレクタページで、Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  3. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Compute Engine API を有効にします。

    API を有効にする

  5. Service Networking API を有効にします。

    API を有効にする

  6. 使用するユーザーまたはサービス アカウントにCloud IAM ロールを追加し、VPC Service Controls を設定して管理します。VPC Service Controls を管理するための Cloud IAM ロールをご覧ください。
  7. Cloud SQL で VPC Service Controls を使用する際の、制限事項を確認します。
  8. 必要に応じて、そのポリシーを使用するプロジェクトにおけるインスタンスのパブリック IP を制限する組織のポリシーを追加します。接続に関する組織のポリシー組織のポリシーの構成をご覧ください。

Virtual Private Cloud(VPC)ネットワークの構成

Google API とサービスへのプライベート接続を設定するの手順を実行します。

Cloud SQL インスタンスのパブリック IP を禁止または無効にする

Cloud SQL プロジェクトの VPC 内のデータを制限するには、パブリック IP から Cloud SQL インスタンスへの接続を許可しないようにします。IP ベースの接続は VPC Service Controls をバイパスします。VPC 内の新規および既存の Cloud SQL インスタンスのパブリック IP も無効にする必要があります。

Cloud SQL インスタンスでパブリック IP を禁止または無効にするには、次の方法があります。

  • 組織管理者は、パブリック IP を持つ新しいインスタンスの作成を禁止する組織のポリシーを適用できます。組織のポリシーの構成をご覧ください。
  • Cloud SQL インスタンスを作成するユーザーは、パブリック IP ではなくプライベート IP を使用するようにインスタンスを構成できます。パブリック IP の無効化をご覧ください。

サービス境界の作成

この手順では、VPC サービス境界で保護する Cloud SQL プロジェクトを選択します。

サービス境界を作成するには、サービス境界の作成の手順に従います。

サービス境界にインスタンスを追加する

既存の Cloud SQL プロジェクトを境界に追加するには、サービス境界の更新の手順に従います。

Cloud SQL と Cloud Storage API をサービス境界に追加する

Cloud SQL のインポートやエクスポートの API を使用するなどして、Cloud SQL からデータが抜き出されるリスクを軽減するには、Google Cloud SQL Admin API Google Cloud Storage API の両方を制限する必要があります。

Cloud SQL と Cloud Storage API を制限付きサービスとして追加するには、次のようにします。

コンソール

  1. Google Cloud Console のナビゲーション メニューで [セキュリティ] をクリックし、続いて [VPC Service Controls] をクリックします。

    [VPC Service Controls] ページに移動

  2. [VPC Service Controls] ページのテーブルで、変更するサービス境界の名前をクリックします。

  3. [編集] をクリックします。

  4. [VPC サービス境界の編集] ページで、[サービスを追加] をクリックします。

  5. Cloud SQL Admin APICloud Storage API を追加します。

  6. [保存] をクリックします。

gcloud

$gcloud access-context-manager perimeters update [PERIMETER_NAME]
           --policy=[POLICY_NUMBER]
           --add-restricted-services=sqladmin.googleapis.com,storage.googleapis.com

ここで

  • [PERIMETER_ID] は、境界の ID または境界の完全修飾 ID です。
  • [POLICY_ID] はアクセス ポリシーの ID です。

参考情報については、access-context-manager perimeters update をご覧ください。

アクセスレベルの作成

必要に応じて、境界内の保護されたリソースへの外部アクセスを許可するには、アクセスレベルを使用します。アクセスレベルは、サービス境界外からの保護されたリソースに対するリクエストのみに適用されます。アクセスレベルを使用して、保護されたリソースや VM に境界外のデータやサービスにアクセスする権限を与えることはできません。

境界外から保護されたリソースへのアクセスを許可するをご覧ください。