顧客管理の暗号鍵(CMEK)
デフォルトでは、Gemini Enterprise Agent Platform Workbench はお客様のコンテンツを保存時に暗号化します。暗号化は Agent Platform Workbench が行うため、ユーザー側での操作は必要ありません。このオプションは、Google のデフォルトの暗号化と呼ばれます。
暗号鍵を管理する場合は、Cloud KMS の顧客管理の暗号鍵(CMEK)を、Agent Platform Workbench などの CMEK 統合サービスで使用できます。Cloud KMS 鍵を使用すると、保護レベル、ロケーション、ローテーション スケジュール、使用とアクセスの権限、暗号境界を制御できます。 Cloud KMS を使用すると、鍵の使用状況を追跡すること、監査ログを表示すること、鍵のライフサイクルを管理することが可能です。 データを保護する対称鍵暗号鍵(KEK)は Google が所有して管理するのではなく、ユーザーが Cloud KMS でこれらの鍵を制御および管理します。
CMEK を使用してリソースを設定した後は、Agent Platform Workbench リソースへのアクセスは、Google のデフォルトの暗号化を使用する場合と同様です。暗号化オプションの詳細については、顧客管理の暗号鍵(CMEK)をご覧ください。
このページでは、CMEK を Gemini Enterprise Agent Platform Workbench で使用する具体的なメリットと制限事項について説明します。また、CMEK を使用するように新しい Agent Platform Workbench インスタンスを構成する方法についても説明します。
Gemini Enterprise Agent Platform で CMEK を使用する方法については、Agent Platform の CMEK ページをご覧ください。
CMEK のメリット
一般に、CMEK は、データの暗号化に使用する鍵を完全に制御する必要がある場合によく利用されます。CMEK を使用すると、Cloud Key Management Service 内で鍵を管理できます。たとえば、Cloud KMS API を使用して、鍵のローテーションや無効化を行うことが可能です。
Agent Platform Workbench インスタンスを実行すると、Gemini Enterprise Agent Platform Workbench によって管理される仮想マシン(VM)でインスタンスが実行されます。Agent Platform Workbench インスタンスで CMEK を有効にすると、Agent Platform Workbench では Google 管理の鍵ではなく、指定した鍵が VM のブートディスクのデータ暗号化に使用されます。
CMEK 鍵は、Agent Platform Workbench インスタンスに関連付けられたインスタンスの名前やリージョンなどのメタデータを暗号化しません。Agent Platform Workbench インスタンスに関連付けられたメタデータは、常に Google のデフォルトの暗号化メカニズムを使用して暗号化されます。
CMEK の制限事項
レイテンシを短縮し、リソースが複数の障害発生ドメインにまたがるサービスに依存しないようにするため、リージョン Agent Platform Workbench インスタンスを同じロケーションにあるキーで保護することをおすすめします。
- リージョン Agent Platform Workbench インスタンスを暗号化するには、同じロケーションまたはグローバル ロケーションの鍵を使用します。たとえば、ゾーン
us-west1-a内のディスクのデータを暗号化するには、us-west1またはglobalの鍵を使用します。 - グローバル インスタンスを暗号化するには、任意のロケーションの鍵を使用します。
- Agent Platform Workbench に対して CMEK を構成しても、使用する他の Google Cloud プロダクトに CMEK が自動的に構成されることはありません。他の Google Cloud プロダクトで CMEK を使用してデータを暗号化するには、別途、構成を完了する必要があります。
Agent Platform Workbench インスタンスの CMEK を構成する
以降のセクションでは、Cloud Key Management Service でキーリングと鍵を作成し、サービス アカウントに鍵の暗号化と復号を行う権限を付与して、CMEK を使用する Agent Platform Workbench インスタンスを作成する方法について説明します。
始める前に
職掌分散に対応した設定の使用をおすすめします。Agent Platform Workbench に対して CMEK を構成するために、2 つの個別の Google Cloud プロジェクトを使用できます。
- Cloud KMS プロジェクト: 暗号鍵を管理するためのプロジェクト
- Agent Platform Workbench プロジェクト: Agent Platform Workbench インスタンスにアクセスし、ユースケースに必要な他の Google Cloud プロダクトを操作するためのプロジェクト
また、単一の Google Cloud プロジェクトを使用することもできます。その場合は、次のすべてのタスクで同じプロジェクトを使用します。
Cloud KMS プロジェクトを設定する
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Agent Platform Workbench プロジェクトを設定する
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Google Cloud CLI を設定する
このページの一部の手順では gcloud CLI が必須ですが、それ以外の手順では省略可能です。Google Cloud CLI をインストールします。インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
キーリングと鍵を作成する
キーリングと鍵を作成する際は、次のことに注意してください。
キーリングのロケーションを選択する場合は、
globalまたは Agent Platform Workbench インスタンスが存在するロケーションを使用します。キーリングと鍵は Cloud KMS プロジェクトで作成します。
キーリングと鍵を作成する方法については、対称暗号鍵の作成をご覧ください。
Agent Platform Workbench の権限を付与する
Agent Platform Workbench インスタンスに CMEK を使用するには、鍵を使用してデータの暗号化と復号を行う権限を Agent Platform Workbench インスタンスに付与する必要があります。この権限は、プロジェクトのサービス エージェントと Compute Engine サービス アカウントに付与します。
Agent Platform 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は、Agent Platform Workbench プロジェクトのプロジェクト番号に置き換えます。鍵を使用してデータを暗号化または復号する権限をこれらのアカウントに付与するには、 Google Cloud コンソールまたは gcloud 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: 前のセクションでサービス アカウントのメールアドレスの一部としてメモした Agent Platform 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 を使用して Agent Platform Workbench インスタンスを作成する
鍵を使用してデータの暗号化と復号を行う権限を Agent Platform Workbench インスタンスに付与したら、この鍵を使用してデータを暗号化する Agent Platform Workbench インスタンスを作成できます。
次の例は、 Google Cloud コンソールを使用して、鍵を使用してデータを暗号化および復号する方法を示しています。
顧客管理の暗号鍵を使用して Agent Platform Workbench インスタンスを作成するには、 Google Cloud コンソールまたは gcloud CLI を使用します。
コンソール
Google Cloud コンソールで [インスタンス] ページに移動します。
[新規作成] をクリックします。
[新しいインスタンス] ダイアログで、[詳細オプション] をクリックします。
[インスタンスを作成] ダイアログの [詳細] セクションで、新しいインスタンスについて次の情報を入力します。
- 名前: 新しいインスタンスの名前
- リージョン: 鍵とキーリングが属するリージョン
- ゾーン: 選択したリージョン内のゾーン
[ディスク] セクションの [暗号化] で、[顧客管理の暗号鍵(CMEK)] を選択します。
[顧客管理の暗号鍵を選択] をクリックします。
- 使用する顧客管理の暗号鍵がリストに含まれている場合は、それを選択します。
使用する顧客管理の暗号鍵がリストにない場合は、顧客管理の暗号鍵のリソース ID を入力します。顧客管理の暗号鍵のリソース ID は次のようになります。
projects/NOTEBOOKS_PROJECT_NUMBER/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME次のように置き換えます。
NOTEBOOKS_PROJECT_NUMBER: Agent Platform Workbench プロジェクトの IDREGION: キーリングを作成したリージョンと、Agent Platform Workbench インスタンスを作成する予定のリージョンKEY_RING_NAME: キーリングと鍵の作成で作成したキーリングKEY_NAME: キーリングと鍵の作成で作成した鍵の名前
インスタンス作成ダイアログの残りの部分に入力して、[作成] をクリックします。
gcloud
gcloud CLI を使用して、顧客管理の暗号鍵を使用した Agent Platform Workbench インスタンスを作成するには、次のコマンドを実行します。この例では、n1-standard-1 マシンタイプと 100 GB の標準永続ブートディスクを使用して Agent Platform Workbench インスタンスを作成することを前提としています。
gcloud notebooks instances create notebook-vm-cmek \ --location=REGION \ --vm-image-family=IMAGE_FAMILY \ --vm-image-project=cloud-notebooks-managed \ --machine-type="n1-standard-1" \ --boot-disk-type="PD_STANDARD" \ --boot-disk-size=100 \ --kms-key=KEY_NAME \ --kms-project=KMS_PROJECT_ID \ --kms-location=REGION \ --kms-keyring=KEY_RING_NAME \ --disk-encryption=CMEK \ --metadata='proxy-mode=project_editors'
次のように置き換えます。
REGION: キーリングを作成したリージョンと、Agent Platform Workbench インスタンスを作成する予定のリージョンIMAGE_FAMILY: Agent Platform Workbench インスタンスの作成に使用するイメージ ファミリーKEY_NAME: キーリングと鍵の作成で作成した鍵の名前KMS_PROJECT_ID: Cloud KMS プロジェクトの IDKEY_RING_NAME: キーリングと鍵の作成で作成したキーリング
次のステップ
- Google Cloudの CMEK について詳細を確認する。
- 他の Google Cloudプロダクトで CMEK を使用する方法を確認する。