顧客管理の暗号鍵(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 プロジェクトを設定する
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
Vertex AI Workbench プロジェクトの設定
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks 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 コンソールを使用します。
Google Cloud コンソールの [IAM] ページに移動します。
[Google 提供のロール付与を含む] を選択します。
次の形式のメールアドレスに一致するメンバーを見つけます。メールアドレスをメモして、次の手順で使用します。
プロジェクトのサービス エージェントのメールアドレスは、次のようになります。
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 を使用します。
コンソール
Google Cloud コンソールで、[鍵管理] ページに移動します。
Cloud KMS プロジェクトを選択します。
キーリングと鍵の作成で作成したキーリングの名前をクリックします。[キーリングの詳細] ページが開きます。
キーリングと鍵を作成するで作成した鍵のチェックボックスをオンにします。鍵の名前が付いた情報パネルがまだ開いていない場合は、[情報パネルを表示] をクリックします。
情報パネルで [
メンバーを追加] をクリックします。[「KEY_NAME」にメンバーを追加します] ダイアログが開きます。このダイアログで、次の操作を行います。[新しいメンバー] フィールドに、プロジェクトのサービス エージェントのメールアドレスを入力します。
service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
[ロールを選択] リストで [Cloud KMS] をクリックし、続いて [Cloud KMS 暗号鍵の暗号化 / 復号] ロールを選択します。
[保存] をクリックします。
Compute Engine サービス エージェントに対しても、次の手順を繰り返します。
service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
gcloud
鍵を使用してデータの暗号化と復号を行う権限をプロジェクトのサービス エージェントに付与するには、次のコマンドを実行します。
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 プロジェクトの IDNOTEBOOKS_PROJECT_NUMBER
: 前のセクションでサービス アカウントのメールアドレスの一部としてメモした Vertex AI Workbench プロジェクトのプロジェクト番号。
鍵を使用してデータの暗号化と復号を行う権限を 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 インスタンスを作成するには:
Google Cloud コンソールで、[インスタンス] ページに移動します。
[
新規作成] をクリックします。[新しいインスタンス] ダイアログで、[詳細オプション] をクリックします。
[インスタンスを作成] ダイアログの [詳細] セクションで、新しいインスタンスについて次の情報を入力します。
- 名前: 新しいインスタンスの名前
- リージョン: 鍵とキーリングが属するリージョン
- ゾーン: 選択したリージョン内のゾーン
[ディスク] セクションの [暗号化] で、[顧客管理の暗号鍵(CMEK)] を選択します。
[顧客管理の暗号鍵を選択] をクリックします。
- 使用する顧客管理の暗号鍵がリストに含まれている場合は、それを選択します。
使用する顧客管理の暗号鍵がリストにない場合は、顧客管理の暗号鍵のリソース ID を入力します。顧客管理の暗号鍵のリソース ID は次のようになります。
projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
次のように置き換えます。
NOTEBOOKS_PROJECT_NUMBER
: Vertex AI Workbench プロジェクトの IDKEY_RING_NAME
: キーリングと鍵の作成で作成したキーリングKEY_NAME
: キーリングと鍵の作成で作成した鍵の名前
インスタンス作成ダイアログの残りの部分に入力して、[作成] をクリックします。
次のステップ
- Google Cloud の CMEK についてさらに理解を深める。
- 他の Google Cloud プロダクトで CMEK を使用する方法を確認する。