顧客管理の暗号鍵(CMEK)を使用する

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

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

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

このガイドでは、Colab Enterprise で CMEK を使用する方法について説明します。

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

Colab Enterprise の CMEK

CMEK を使用して、Colab Enterprise ランタイムとノートブック ファイル(ノートブック)を暗号化できます。

ランタイム

Colab Enterprise ノートブックでコードを実行すると、ランタイムは Colab Enterprise によって管理される 1 つ以上の仮想マシン(VM)インスタンスでコードを実行します。Colab Enterprise ランタイムで CMEK を有効にすると、Google が管理する鍵ではなく、指定した鍵が VM 上のデータの暗号化に使用されます。CMEK 鍵により、次の種類のデータが暗号化されます。

  • VM 上のコードのコピー。
  • コードによって読み込まれるデータ。
  • コードによってローカル ディスクに保存されるすべての一時データ。

CMEK 暗号化に影響を与えることなく、ランタイムの起動、停止、アップグレードを行うことができます。

一般に、CMEK 鍵は、ランタイムの名前、ノートブックの名前とリージョンなど、オペレーションに関連するメタデータを暗号化しません。このメタデータは常に、Google のデフォルトの暗号化メカニズムを使用して暗号化されます。

ノートブック

Colab Enterprise ノートブックは Dataform リポジトリに保存されます。ノートブックを作成すると、Colab Enterprise によって、ノートブックが保存される非表示の Dataform リポジトリが自動的に作成されます。リポジトリは非表示であるため、他の Dataform リポジトリと同様に暗号化設定を変更することはできません。

ノートブックで CMEK を使用するには、ノートブックを含む Google Cloud プロジェクトにデフォルトの Dataform CMEK キーを設定する必要があります。デフォルトの Dataform CMEK 鍵を設定すると、Dataform は、ノートブックの保存用に作成された非表示のリポジトリを含む、 Google Cloud プロジェクトで作成されたすべての新しいリポジトリにデフォルトで鍵を適用します。

デフォルトの Dataform CMEK 鍵は、既存のリポジトリには適用されません。したがって、そのプロジェクトにノートブックがすでにある場合、それらのノートブックはデフォルトの Dataform CMEK 鍵で暗号化されません。プロジェクトのデフォルトの Dataform CMEK 鍵を設定する前に作成されたノートブックで CMEK を使用するには、ノートブック ファイルを新しい Colab Enterprise ノートブックとして保存します。

Dataform のデフォルトの CMEK 鍵の詳細については、Dataform のデフォルトの CMEK 鍵を使用するをご覧ください。

ノートブックで CMEK を使用するには、デフォルトの Dataform CMEK 鍵を設定するをご覧ください。

サポートされているキー

Colab Enterprise は、次のタイプの CMEK 鍵をサポートしています。

鍵の可用性は鍵のタイプとリージョンによって異なります。CMEK キーの地理的可用性の詳細については、Cloud KMS のロケーションをご覧ください。

制限事項

Colab Enterprise は、次の制限と制限付きで CMEK をサポートしています。

  • Vertex AI のデフォルトの割り当ては、プロジェクトとリージョンごとに 1 つの暗号鍵です。プロジェクト内のリージョンに複数のキーを登録する必要がある場合は、Google アカウント チームに連絡して CMEK 構成の割り当ての増加をリクエストし、複数のキーが必要な理由を説明してください。

Cloud KMS の割り当てと Colab Enterprise

Colab Enterprise で CMEK を使用すると、プロジェクトで Cloud KMS 暗号リクエストの割り当てが消費されることがあります。CMEK 鍵を使用する暗号化と復号の処理は、ハードウェア(Cloud HSM)鍵または外部(Cloud EKM)鍵を使用する場合にのみ、Cloud KMS の割り当てに影響します。詳細については、Cloud KMS の割り当てをご覧ください。

ランタイムに CMEK を構成する

以降のセクションでは、Cloud Key Management Service でキーリングと鍵を作成し、鍵に対する Colab Enterprise の暗号化と復号の権限を付与して、CMEK を使用するように構成されたランタイム テンプレートを作成する方法について説明します。Colab Enterprise がこのランタイム テンプレートから生成するランタイムは、すべて CMEK 暗号化を使用します。

始める前に

このガイドでは、Colab Enterprise ランタイム用の CMEK を構成するため、2 つの独立した Google Cloud プロジェクトを使用することを前提としています。

  • 暗号鍵を管理するためのプロジェクト(「Cloud KMS プロジェクト」)。
  • Colab Enterprise リソースにアクセスし、必要な他の Google Cloud プロダクトとやり取りするためのプロジェクト(「ノートブック プロジェクト」)。

このおすすめの設定は、職掌分散をサポートしています。

あるいは、このガイド全体で 1 つの Google Cloud プロジェクトを使用することもできます。これを行うには、以降に掲載する Cloud KMS プロジェクトを参照するタスクと、Notebook プロジェクトを参照するプロジェクトのすべてに同じプロジェクトを使用します。

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

Notebook プロジェクトを設定する

  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 Vertex AI 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 Vertex AI API.

    Enable the API

Google Cloud CLI を設定する

このガイドの一部の手順では gcloud CLI は必須となり、それ以外の手順ではオプションの手段になります。

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

gcloud init

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

対称鍵の作成に関する Cloud KMS ガイドに従って、キーリングと鍵を作成します。キーリングを作成する際、Colab Enterprise オペレーションをサポートするリージョンキーリングのロケーションとして指定します。Colab Enterprise では、ランタイムと鍵が同じリージョンを使用する場合にのみ CMEK がサポートされます。デュアル リージョン、マルチ リージョン、グローバル ロケーションをキーリングに指定することはできません。

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

Colab Enterprise の権限を付与する

リソースに CMEK を使用するには、鍵を使用してデータを暗号化および復号するための Colab Enterprise の権限を付与する必要があります。Colab Enterprise は、Google が管理するサービス エージェントでリソースを使用してオペレーションを実行します。このサービス アカウントは、次の形式のメールアドレスにより識別されます。 service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com

Notebook プロジェクトに適切なサービス アカウントを見つけるには、Google Cloud コンソールの [IAM] ページに移動し、NOTEBOOK_PROJECT_NUMBER 変数を Notebook プロジェクトのプロジェクト番号に置き換えて、このメールアドレス形式と一致するメンバーを見つけます。このサービス アカウントは、Vertex AI Service Agent という名前でもあります。

[IAM] ページに移動

このサービス アカウントのメールアドレスをメモし、以降の、CMEK 鍵を使用したデータの暗号化と復号の権限を付与する手順で使用します。権限を付与するには、 Google Cloud コンソールまたは Google Cloud CLI を使用します。

Google Cloud コンソール

  1. Google Cloud コンソールで、[セキュリティ] をクリックし、[鍵管理] を選択します。[暗号鍵] ページが表示されたら、Cloud KMS プロジェクトを選択します。

    [暗号鍵] ページに移動

  2. このガイドの前のセクションで作成したキーリングの名前をクリックして、[キーリングの詳細] ページに移動します。

  3. このガイドの前のセクションで作成した鍵のチェックボックスをオンにします。鍵の名前が付いた情報パネルがまだ開いていない場合は、[情報パネルを表示] をクリックします。

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

    1. [新しいメンバー] ボックスに、前のセクションでメモしたサービス アカウントのメールアドレス(service-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com)を入力します。

    2. [ロールを選択] プルダウン リストで [Cloud KMS] をクリックし、続いて [Cloud KMS 暗号鍵の暗号化/復号] ロールを選択します。

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

gcloud

次のコマンドを実行します。

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

このコマンドで、プレースホルダは次のように置き換えます。

  • KEY_NAME: このガイドの前のセクションで作成したキーの名前。
  • KEY_RING_NAME: このガイドの前のセクションで作成したキーリング。
  • REGION: キーリングを作成したリージョン。
  • KMS_PROJECT_ID: Cloud KMS プロジェクトの ID。
  • NOTEBOOK_PROJECT_NUMBER: 前のセクションでサービス アカウントのメールアドレスの一部としてメモした Notebook プロジェクトのプロジェクト番号。

KMS 鍵を使用してランタイム テンプレートを構成する

新しい CMEK でサポートされているリソースを作成する場合、作成パラメータの 1 つとして鍵を指定できます。Colab Enterprise ランタイムを作成するには、パラメータとして CMEK 鍵を指定してランタイム テンプレートを作成します。Colab Enterprise がこのランタイム テンプレートから生成するランタイムは、すべて CMEK 暗号化を使用します。

Google Cloud コンソールを使用してランタイム テンプレートを作成するには、[新しいランタイム テンプレートを作成] ダイアログでキーを指定します。手順は次のとおりです。

  1. Google Cloud コンソールで、Colab Enterprise の [ランタイム テンプレート] ページに移動します。

    [ランタイム テンプレート] に移動

  2. [ 新しいテンプレート] をクリックします。

    [ランタイム テンプレートの新規作成] ダイアログが表示されます。

  3. [コンピューティングを構成する] セクションの [暗号化] で、[Cloud KMS 鍵] を選択します。

  4. [鍵のタイプ] で [Cloud KMS] を選択し、次のフィールドで顧客管理の暗号鍵を選択します。

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

    ランタイム テンプレートが [ランタイム テンプレート] タブのリストに表示されます。

次のステップ