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 カスタマー サービス REST API を使用して、VPC Service Controls の境界で保護されたプロジェクトで顧客設定を更新します。

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

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

    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” エラーを返します。