顧客管理の暗号鍵(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 プロダクトとやり取りするためのプロジェクト(「Notebook プロジェクト」)。

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

あるいは、このガイド全体で 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

  8. ノートブック プロジェクトを設定する

    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

    8. Google Cloud CLI を設定する

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

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

      対称鍵の作成に関する 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. インスタンス作成ダイアログの残りの部分に入力して、[作成] をクリックします。

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

      次のステップ