VPC Service Controls によるセキュリティの強化

Google Cloud Search は、データのセキュリティを強化するために VPC Service Controls をサポートしています。VPC Service Controls を使用すると、Google Cloud Platform リソースの周囲にサービス境界を定義して、データを制約し、データ漏洩のリスクを軽減できます。

前提条件

始める前に、gcloud コマンドライン インターフェースをインストールします。

VPC Service Controls を有効にする

VPC Service Controls を有効にするには:

  1. 使用する Google Cloud Platform プロジェクトのプロジェクト ID とプロジェクト番号を取得します。プロジェクト ID と番号を取得するには、プロジェクトの識別をご覧ください。

  2. gcloud を使用して、Google Cloud Platform 組織のアクセス ポリシーを作成します。

    1. 組織 ID を取得します
    2. アクセス ポリシーを作成します
    3. アクセス ポリシーの名前を取得します
  3. 次の gcloud コマンドを実行して、制限付きサービスとして Cloud Search を含むサービス境界を作成します。

    gcloud access-context-manager perimeters create NAME \
        --title=TITLE \
        --resources=PROJECTS \
        --restricted-services=RESTRICTED-SERVICES \
        --policy=POLICY_NAME
    

    ここで

    • NAME は、境界の名前です。
    • TITLE は、人間が読める境界のタイトルです。
    • PROJECTS は、1 つ以上のプロジェクト番号を含むカンマ区切りのリストです。各プロジェクト番号の前に文字列 projects/ が付加されます。ステップ 1 で取得したプロジェクト番号を使用します。たとえば、プロジェクト 1234567890 の 2 つのプロジェクトがある場合、設定は --resource=projects/12345, project/67890 になります。このフラグはプロジェクト番号のみをサポートし、名前や ID はサポートしていません。
    • RESTRICTED-SERVICES は、1 つ以上のサービスを含むカンマ区切りのリストです。cloudsearch.googleapis.com を使用します。
    • POLICY_NAME は、手順 2c で取得した組織のアクセス ポリシーの数値名です。

    サービス境界の作成方法について詳しくは、サービス境界の作成をご覧ください。

  4. (省略可)IP またはリージョンベースの制限を適用する場合は、アクセスレベルを作成して、手順 3 で作成したサービス境界に追加します。

    1. アクセスレベルを作成するには、ベーシック アクセスレベルの作成を参照してください。企業ネットワーク内のアドレスなど、特定の範囲の IP アドレスからのアクセスのみを許可するアクセスレベル条件を作成する方法の例については、企業ネットワークでアクセスを制限するをご覧ください。
    2. アクセスレベルを作成したら、サービス境界に追加します。サービス境界にアクセスレベルを追加する手順については、既存の境界にアクセスレベルを追加するをご覧ください。この変更が反映されて有効になるまでには、最大で 30 分ほどかかることがあります。
  5. Cloud Search Customer Service REST API を使用して、VPC Service Controls 境界で保護されたプロジェクトで顧客設定を更新します。

  1. Google 承認サーバーから OAuth 2.0 アクセス トークンを取得します。トークンの取得については、OAuth 2.0 を使用した Google API へのアクセスの手順 2 をご覧ください。アクセス トークンを取得するときは、次のいずれかの OAuth スコープを使用します。https://www.googleapis.com/auth/cloud_search.settings.indexinghttps://www.googleapis.com/auth/cloud_search.settingshttps://www.googleapis.com/auth/cloud_search

  2. 次の curl コマンドを実行して、Google Cloud Search の [Customer settings] の [VPC Service Controls settings] でプロジェクトを設定します。

    curl --request PATCH \
      'https://cloudsearch.googleapis.com/v1/settings/customer' \
      --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '{ "vpc_settings": { "project": "projects/PROJECT_ID" } }' \
      --compressed
    

    ここで

  • YOUR_ACCESS_TOKEN は、ステップ 5a で取得した OAuth 2.0 アクセス トークンです。
  • PROJECT_ID は、ステップ 1 で取得したプロジェクト ID です。

    成功すると、更新された顧客設定とともに 200 OK レスポンスが返されます。

上記の手順が正常に完了すると、サービス境界で定義された VPC Service Controls の制限が、すべての Google Cloud Search API、cloudsearch.google.com での検索、管理コンソールを使用した構成やレポートの表示と変更に適用されます。アクセスレベルに従っていない Google Cloud Search API へのリクエストは、PERMISSION_DENIED “Request is prohibited by organization’s policy” エラーを受け取ります。