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

Google Cloud では、デフォルトで、Google が管理する暗号鍵を使用して、自動的に保存されているデータを暗号化します。データを保護する鍵に関連する具体的なコンプライアンス要件や規制要件がある場合は、顧客管理の暗号鍵(CMEK)を Vertex AI Workbench マネージド ノートブック インスタンスに使用できます。

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

CMEK の一般的な用途や使用する理由などの詳細については、顧客管理の暗号鍵をご覧ください。

CMEK のメリット

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

マネージド ノートブック インスタンスを実行すると、インスタンスは Google が管理するコンピューティング インフラストラクチャで実行されます。マネージド ノートブック インスタンスで CMEK を有効にすると、Vertex AI Workbench は Google が管理する鍵ではなく、指定した鍵を使用してユーザーデータを暗号化します。

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

CMEK の制限事項

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

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

マネージド ノートブック インスタンスの CMEK を構成する

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

始める前に

職掌分散に対応した設定の使用をおすすめします。マネージド ノートブックに CMEK を構成するには、2 つの別々の Google Cloud プロジェクトを使用できます。

  • Cloud KMS プロジェクト: 暗号鍵を管理するためのプロジェクト
  • マネージド ノートブック プロジェクト: マネージド ノートブック インスタンスにアクセスし、ユースケースに必要な他の 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. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Cloud KMS API を有効にします。

    API を有効にする

  5. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  6. Google Cloud プロジェクトで課金が有効になっていることを確認します

  7. Cloud KMS API を有効にします。

    API を有効にする

マネージド ノートブック プロジェクトを設定する

  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. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Notebooks API を有効にします。

    API を有効にする

  5. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  6. Google Cloud プロジェクトで課金が有効になっていることを確認します

  7. Notebooks API を有効にします。

    API を有効にする

Google Cloud CLI を設定する

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

Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

gcloud init

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

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

  • キーリングのロケーションを選択する場合は、global またはマネージド ノートブック インスタンスが存在するロケーションを使用します。

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

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

マネージド ノートブックの権限を付与する

シングル ユーザー アクセスでインスタンスを設定する場合は、鍵を使用してデータの暗号化と復号を行う権限をマネージド ノートブック インスタンスのプロジェクトに付与する必要があります。この権限はプロジェクトのサービス エージェントに付与します。このサービス エージェントのメールアドレスは次のようになります。

service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com

NOTEBOOKS_PROJECT_NUMBER は、マネージド ノートブック インスタンス プロジェクトのプロジェクト番号に置き換えます。

サービス エージェントのメールアドレスはメモしておきます。次の手順で、鍵を使用したデータの暗号化と復号の権限をマネージド ノートブック インスタンスのプロジェクトに付与する際に使用します。権限を付与するには、Google Cloud コンソールまたは Google Cloud CLI を使用します。

コンソール

  1. Google Cloud Console で、[暗号鍵] ページに移動します。

    [暗号鍵] に移動

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

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

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

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

    1. [新しいメンバー] フィールドに、前のセクションでメモしたサービス アカウントのメールアドレスを入力します。

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

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

gcloud

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

    gcloud kms keys add-iam-policy-binding KEY_NAME \
        --keyring=KEY_RING_NAME \
        --location=REGION \
        --project=KMS_PROJECT_ID \
        --member=serviceAccount:EMAIL_ADDRESS \
        --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
    

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

    • KEY_NAME: キーリングと鍵の作成で作成した鍵の名前
    • KEY_RING_NAME: キーリングと鍵の作成で作成したキーリング
    • REGION: キーリングを作成したリージョン
    • KMS_PROJECT_ID: Cloud KMS プロジェクトの ID
    • EMAIL_ADDRESS: 前のセクションでメモしたサービス エージェントのメールアドレス

CMEK を使用してマネージド ノートブック インスタンスを作成する

鍵を使用してデータの暗号化と復号を行う権限をマネージド ノートブック インスタンスに付与したら、この鍵を使用してデータを暗号化するマネージド ノートブック インスタンスを作成できます。次の操作を行います。

  1. Google Cloud Console で、[マネージド ノートブック] ページに移動します。

    [マネージド ノートブック] に移動

  2. [新しいノートブック] をクリックします。

  3. [ノートブック名] フィールドにインスタンスの名前を入力します。

  4. [リージョン] リストをクリックして、インスタンスのリージョンを選択します。

  5. [詳細設定] をクリックします。

  6. [ディスクの暗号化] セクションで、[顧客管理の暗号鍵(CMEK)] を選択します。

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

    • 使用する顧客管理の暗号鍵がリストに含まれている場合は、それを選択します。

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

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

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

  8. 必要に応じて、[マネージド ノートブックの作成] ダイアログの残りの手順を完了します。

  9. [作成] をクリックします。

  10. Vertex AI Workbench は、指定されたプロパティに基づいてマネージド ノートブック インスタンスを作成し、自動的に開始します。インスタンスを使用する準備が整うと、Vertex AI Workbench で [JupyterLab を開く] リンクが有効になります。

次のステップ