顧客管理の暗号鍵(CMEK)

デフォルトでは、Vertex AI Workbench はお客様のコンテンツを保存時に暗号化します。暗号化は、Vertex AI Workbench が行うため、ユーザー側での操作は必要ありません。このオプションは、Google のデフォルトの暗号化と呼ばれます。

暗号鍵を管理する場合は、Cloud KMS の顧客管理の暗号鍵(CMEK)を、Vertex AI Workbench などの CMEK 統合サービスで使用できます。Cloud KMS 鍵を使用すると、保護レベル、ロケーション、ローテーション スケジュール、使用とアクセスの権限、暗号境界を制御できます。Cloud KMS を使用すると、鍵の使用状況を追跡すること、監査ログを表示すること、鍵のライフサイクルを管理することが可能です。データを保護する対称鍵暗号鍵(KEK)は Google が所有して管理するのではなく、ユーザーが Cloud KMS でこれらの鍵を制御および管理します。

CMEK を使用してリソースを設定した後は、Vertex AI Workbench リソースへのアクセスは、Google のデフォルトの暗号化を使用する場合と同様です。暗号化オプションの詳細については、顧客管理の暗号鍵(CMEK)をご覧ください。

このページでは、CMEK を Vertex AI Workbench で使用する具体的なメリットと制限事項について説明します。また、CMEK を使用するように新しい Vertex AI Workbench インスタンスを構成する方法についても説明します。

Vertex AI で CMEK を使用する方法については、Vertex AI CMEK のページをご覧ください。

CMEK のメリット

一般に、CMEK は、データの暗号化に使用する鍵を完全に制御する必要がある場合によく利用されます。CMEK を使用すると、Cloud Key Management Service 内で鍵を管理できます。たとえば、Cloud KMS API を使用して、鍵のローテーションや無効化を行うことが可能です。

Vertex AI Workbench インスタンスを実行すると、インスタンスは、Vertex AI Workbench によって管理される仮想マシン(VM)で実行されます。Vertex AI Workbench インスタンスで CMEK を有効にすると、Vertex AI Workbench では Google 管理の鍵ではなく、指定した鍵が VM のブートディスクのデータ暗号化に使用されます。

CMEK 鍵は、Vertex AI Workbench インスタンスに関連付けられたインスタンスの名前やリージョンなどのメタデータを暗号化しません。Vertex AI Workbench インスタンスに関連付けられたメタデータは、常に Google のデフォルトの暗号化メカニズムで暗号化されます。

CMEK の制限事項

レイテンシを短縮し、リソースが複数の障害発生ドメインにまたがるサービスに依存しないようにするため、リージョン Vertex AI Workbench インスタンスを同じロケーションにあるキーで保護することをおすすめします。

  • リージョン Vertex AI Workbench インスタンスを暗号化するには、同じロケーションまたはグローバル ロケーションの鍵を使用します。たとえば、ゾーン us-west1-a 内のディスクのデータを暗号化するには、us-west1 または global の鍵を使用します。
  • グローバル インスタンスを暗号化するには、任意のロケーションの鍵を使用します。
  • Vertex AI Workbench に対して CMEK を構成しても、使用する他の Google Cloud プロダクトに CMEK が自動的に構成されることはありません。他の Google Cloud プロダクトで CMEK を使用してデータを暗号化するには、別途、構成を完了する必要があります。

Vertex AI Workbench インスタンスの CMEK を構成する

次のセクションでは、Cloud Key Management Service でキーリングと鍵を作成し、鍵に対する暗号化と復号の権限をサービス アカウントに付与して、CMEK を使用する Vertex AI Workbench インスタンスを作成します。

始める前に

職掌分散に対応した設定の使用をおすすめします。Vertex AI Workbench に対して CMEK を構成するために、2 つの個別の Google Cloud プロジェクトを使用できます。

  • Cloud KMS プロジェクト: 暗号鍵を管理するためのプロジェクト
  • Vertex AI Workbench プロジェクト: Vertex AI Workbench インスタンスにアクセスし、用途に応じて他の Google Cloud プロダクトとやり取りを行うためのプロジェクト

また、単一の Google Cloud プロジェクトを使用することもできます。その場合は、次のすべてのタスクで同じプロジェクトを使用します。

Cloud KMS プロジェクトを設定する

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud KMS API.

    Enable the API

Vertex AI Workbench プロジェクトを設定する

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

Google Cloud CLI を設定する

このページの一部の手順では gcloud CLI が必須ですが、それ以外の手順では省略可能です。

Install the Google Cloud CLI, then initialize it by running the following command:

gcloud init

キーリングと鍵を作成する

キーリングと鍵を作成する際は、次のことに注意してください。

  • キーリングのロケーションを選択する場合は、global または Vertex AI Workbench インスタンスが存在するロケーションを使用します。

  • キーリングと鍵は Cloud KMS プロジェクトで作成します。

キーリングと鍵を作成する方法については、対称暗号鍵の作成をご覧ください。

Vertex AI Workbench の権限を付与する

Vertex AI Workbench インスタンスに CMEK を使用するには、鍵を使用してデータの暗号化と復号を行うための権限を Vertex AI Workbench インスタンスに付与する必要があります。この権限は、プロジェクトのサービス エージェントと Compute Engine サービス アカウントに付与します。

Vertex AI Workbench プロジェクトの特定のアカウントを見つけるには、Google Cloud コンソールを使用します。

  1. Google Cloud コンソールの [IAM] ページに移動します。

    [IAM] に移動

  2. [Google 提供のロール付与を含む] を選択します。

  3. 次の形式のメールアドレスに一致するメンバーを見つけます。メールアドレスをメモして、次の手順で使用します。

    • プロジェクトのサービス エージェントのメールアドレスは、次のようになります。

      service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
    • Compute Engine サービス アカウントのメールアドレスは、次のようになります。

      service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com

    NOTEBOOKS_PROJECT_NUMBER は、Vertex AI Workbench プロジェクトのプロジェクト番号に置き換えます。

    鍵を使用してデータを暗号化または復号する権限をこれらのアカウントに付与するには、Google Cloud コンソールまたは Google Cloud CLI を使用します。

    コンソール

    1. Google Cloud コンソールで、[鍵管理] ページに移動します。

      [鍵管理] に移動

    2. Cloud KMS プロジェクトを選択します。

    3. キーリングと鍵の作成で作成したキーリングの名前をクリックします。[キーリングの詳細] ページが開きます。

    4. キーリングと鍵を作成するで作成した鍵のチェックボックスをオンにします。鍵の名前が付いた情報パネルがまだ開いていない場合は、[情報パネルを表示] をクリックします。

    5. 情報パネルで [メンバーを追加] をクリックします。[KEY_NAME」にメンバーを追加します] ダイアログが開きます。このダイアログで、次の操作を行います。

      1. [新しいメンバー] フィールドに、プロジェクトのサービス エージェントのメールアドレスを入力します。

        service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
      2. [ロールを選択] リストで [Cloud KMS] をクリックし、続いて [Cloud KMS 暗号鍵の暗号化 / 復号] ロールを選択します。

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

    6. Compute Engine サービス エージェントに対しても、次の手順を繰り返します。

      service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com

    gcloud

    1. 鍵を使用してデータの暗号化と復号を行う権限をプロジェクトのサービス エージェントに付与するには、次のコマンドを実行します。

      gcloud kms keys add-iam-policy-binding KEY_NAME \
        --keyring=KEY_RING_NAME \
        --location=REGION \
        --project=KMS_PROJECT_ID \
        --member=serviceAccount:service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com \
        --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

      次のように置き換えます。

      • KEY_NAME: キーリングと鍵の作成で作成した鍵の名前
      • KEY_RING_NAME: キーリングと鍵の作成で作成したキーリング
      • REGION: キーリングを作成したリージョン
      • KMS_PROJECT_ID: Cloud KMS プロジェクトの ID
      • NOTEBOOKS_PROJECT_NUMBER: 前のセクションでサービス アカウントのメールアドレスの一部としてメモした Vertex AI Workbench プロジェクトのプロジェクト番号。
    2. 鍵を使用してデータの暗号化と復号を行う権限を Compute Engine サービス アカウントに付与するには、次のコマンドを実行します。

      gcloud kms keys add-iam-policy-binding KEY_NAME \
        --keyring=KEY_RING_NAME \
        --location=REGION \
        --project=KMS_PROJECT_ID \
        --member=serviceAccount:service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
        --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

CMEK を使用して Vertex AI Workbench インスタンスを作成する

鍵を使用してデータの暗号化と復号を行う権限を Vertex AI Workbench インスタンスに付与したら、この鍵を使用してデータを暗号化する Vertex AI Workbench インスタンスを作成できます。

次の例は、Google Cloud コンソールを使用して、鍵を使用してデータを暗号化および復号する方法を示しています。

顧客管理の暗号鍵を使用して Vertex AI Workbench インスタンスを作成するには:

  1. Google Cloud コンソールで、[インスタンス] ページに移動します。

    [インスタンス] に移動

  2. [新規作成] をクリックします。

  3. [新しいインスタンス] ダイアログで、[詳細オプション] をクリックします。

  4. [インスタンスを作成] ダイアログの [詳細] セクションで、新しいインスタンスについて次の情報を入力します。

    • 名前: 新しいインスタンスの名前
    • リージョン: 鍵とキーリングが属するリージョン
    • ゾーン: 選択したリージョン内のゾーン
  5. [ディスク] セクションの [暗号化] で、[顧客管理の暗号鍵(CMEK)] を選択します。

  6. [顧客管理の暗号鍵を選択] をクリックします。

    • 使用する顧客管理の暗号鍵がリストに含まれている場合は、それを選択します。
    • 使用する顧客管理の暗号鍵がリストにない場合は、顧客管理の暗号鍵のリソース ID を入力します。顧客管理の暗号鍵のリソース ID は次のようになります。

      projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

      次のように置き換えます。

  7. インスタンス作成ダイアログの残りの部分に入力して、[作成] をクリックします。

次のステップ