顧客管理の暗号鍵

デフォルトでは、Gemini Enterprise はお客様のコンテンツを保存時に暗号化します。Gemini Enterprise では、ユーザーが追加で操作を行わなくても暗号化が行われます。このオプションは、Google のデフォルトの暗号化と呼ばれます。

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

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

CMEK 鍵が登録されると、Gemini Enterprise は Cloud KMS を定期的に呼び出して、データの論理的に分離されたインスタンスを維持します。これは、CMEK 構成がデフォルトとして設定されておらず、それを使用するアプリやデータコネクタがない場合でも発生します。使用量は、インスタンスの設定と実行によって発生するものであり、データ量やアクセスするユーザー数によって発生するものではありません。Cloud Key Management Service の料金をご覧ください。

Cloud KMS の使用を完全に停止するには、Cloud KMS 鍵の登録を解除するか、鍵を無効にするか、権限を取り消す必要があります。Gemini Enterprise API を無効にしても、CmekConfig やデータは削除されず、CMEK の使用に対して引き続き課金されます。

Gemini Enterprise の Cloud KMS の制限事項

Gemini Enterprise の CMEK(Cloud KMS)鍵には、以下の制限が適用されます。

  • アプリまたはデータコネクタにすでに適用されている鍵は変更できませんが、鍵バージョンはローテーションできます。
  • 米国または EU のマルチリージョン アプリまたはデータストア(グローバルでないもの)を使用する必要があります。マルチリージョンとデータ所在地の詳細(グローバル以外のロケーションの使用に伴う制限事項など)については、ロケーションをご覧ください。
  • プロジェクトに複数の鍵を登録する必要がある場合は、Google アカウント チームに連絡して、CMEK 構成の割り当ての増加をリクエストしてください。その際、複数の鍵が必要な理由を説明してください。

    CMEK を使用する EKM または HSM には、次の制限が適用されます。

    • 暗号化と復号の呼び出しの EKM と HSM の割り当てには、1,000 QPM 以上のヘッドルームが必要です。割り当てを確認する方法については、Cloud KMS の割り当てを確認するをご覧ください。

    • EKM を使用している場合、鍵は 30 秒を超える任意の時間枠の 90% 以上でアクセス可能である必要があります。この時間内に鍵にアクセスできないと、インデックス登録と検索の鮮度に悪影響を及ぼす可能性があります。

    • 課金に関する問題、割り当て不足が持続する問題、または 12 時間以上アクセス不可が持続する問題が発生する場合、サービスは EKM 鍵または HSM 鍵に関連付けられた CmekConfig を自動的に停止します。

  • 鍵がプロジェクトに登録される前に作成されたアプリまたはデータコネクタは、鍵で保護できません。
  • 複数のデータコネクタがあるアプリでは、1 つのデータコネクタで CMEK 構成を使用している場合、他のすべてのデータコネクタでも同じ CMEK 構成を使用する必要があります。

始める前に

次の前提条件を満たしていることを確認してください。

  • マルチリージョン対称 Cloud KMS 鍵を作成します。Cloud KMS ドキュメントのキーリングを作成するキーを作成するをご覧ください。

    • ローテーション期間を [なし(手動ローテーション)] に設定します。

    • [ロケーション] で [マルチリージョン] を選択し、プルダウンから [europe] または [us] を選択します。

  • サードパーティ コネクタを使用する場合は、単一リージョンの対称 Cloud KMS 鍵を 3 つ作成します。それ以外の場合は省略可能です。

    • ローテーション期間を [なし(手動ローテーション)] に設定します。

    • [ロケーション] で [リージョン] を選択します。

    • 次の表の単一リージョンをロケーション プルダウンから選択します。サードパーティ コネクタ用に Cloud KMS 鍵を登録する場合は、3 つの鍵すべてが必要です。

    us single-regions europe single-regions
    us-east1 europe-west1
    us-central1 europe-west4
    us-west1 europe-north1
  • 鍵に対する CryptoKey の暗号化 / 複合 IAM ロール(roles/cloudkms.cryptoKeyEncrypterDecrypter)が Discovery Engine サービス エージェントに付与されています。 サービス エージェント アカウントのメールアドレスは、service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam. という形式になります。サービス エージェントにロールを追加する一般的な手順については、単一のロールの付与または取り消しをご覧ください。

  • 鍵に対する CryptoKey の暗号化 / 複合 IAM ロール(roles/cloudkms.cryptoKeyEncrypterDecrypter)が Cloud Storage サービス エージェントに付与されています。このロールが付与されていない場合、Discovery Engine はインポートに必要な CMEK で保護された一時バケットとディレクトリを作成できないため、CMEK で保護されたアプリとデータコネクタのデータ インポートは失敗します。

  • このページの鍵の登録手順を完了するまで、鍵で管理するアプリやデータ コネクタは作成しないでください。

Cloud KMS 鍵を登録する

CMEK を使用してデータを暗号化するには、マルチリージョン鍵を登録する必要があります。必要に応じて、データに単一リージョン鍵が必要な場合(サードパーティ コネクタを使用する場合など)は、単一リージョン鍵を登録する必要があります。

マルチリージョン Cloud KMS 鍵を登録する

始める前に

以下のことを確認してください。

  • リージョンが鍵で保護されていない。鍵が REST コマンドですでにリージョンに登録されている場合、次の手順は失敗します。ロケーションの Gemini Enterprise にアクティブな鍵があるかどうかを確認するには、Cloud KMS 鍵を表示するをご覧ください。

手順

REST

Gemini Enterprise 用に独自の鍵を登録する手順は次のとおりです。

  1. 登録する鍵を指定して UpdateCmekConfig メソッドを呼び出します。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    

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

    • KMS_PROJECT_ID: 鍵を含むプロジェクトの ID。プロジェクト番号は使用できません。
    • KMS_LOCATION: 鍵のマルチリージョン(us または europe)。
    • KEY_RING: 鍵を含むキーリングの名前。
    • KEY_NAME: 鍵の名前
    • PROJECT_ID: アプリまたはデータコネクタを含むプロジェクトの ID。
    • LOCATION: アプリまたはデータ コネクタのマルチリージョン: us または eu
    • CMEK_CONFIG_ID: CmekConfig リソースの一意の ID を設定します(例: default_cmek_config)。
    • SET_DEFAULT: マルチリージョンで作成される後続のアプリとデータコネクタのデフォルト鍵としてこの鍵を使用するには、true に設定します。

  2. アプリやデータコネクタを作成する前に、キーを使用できる状態であることを確認します。登録された鍵は、準備が整うまでリソースを保護できません。通常、鍵の登録には数分かかります。Cloud KMS 鍵を使用する準備ができていることを確認するをご覧ください。

    登録オペレーションを追跡するには、メソッドから返された name 値を記録し、長時間実行オペレーションの詳細を取得するの手順に沿って操作します。

    鍵の準備が完了すると、そのマルチリージョン内の新しいアプリとデータ コネクタが鍵で保護されます。アプリの作成に関する一般的な情報については、アプリとデータストアについてをご覧ください。

  3. アプリを作成します。手順については、アプリを作成するアプリとデータストアについてをご覧ください。

コンソール

手順

Gemini Enterprise 用に独自の鍵を登録する手順は次のとおりです。

  1. Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。

    Gemini Enterprise

  2. [設定] をクリックし、[CMEK] タブを選択します。

  3. [us] または [eu] のロケーションの [鍵を追加] をクリックします。

    ロケーションの [鍵を追加] をクリックします。
    [鍵を追加] をクリックします。
    1. [Cloud KMS 鍵の選択] プルダウンをクリックして、鍵を選択します。

      • 鍵が別のプロジェクトにある場合は、[プロジェクトを切り替え] をクリックしてプロジェクト名をクリックし、作成した鍵の名前を入力して鍵を選択します。

      • 鍵のリソース名がわかっている場合は、[手動で入力] をクリックし、鍵のリソース名を貼り付けて [保存] をクリックします。

    2. [OK] > [保存] をクリックします。

  4. アプリやデータコネクタを作成する前に、キーを使用できる状態であることを確認します。登録された鍵は、準備が整うまでリソースを保護できません。Cloud KMS 鍵を使用する準備ができていることを確認するをご覧ください。

  5. アプリを作成します。手順については、アプリを作成するアプリとデータストアについてをご覧ください。

これにより鍵が登録され、default_cmek_config という CmekResource が作成されます。

取り込まれたデータが検索結果に表示されるまでには数時間かかることがあります。

サードパーティ コネクタ用に単一リージョンの Cloud KMS 鍵を登録する

REST

Gemini Enterprise 用に独自の鍵を登録する手順は次のとおりです。

  1. 登録する鍵を指定して UpdateCmekConfig メソッドを呼び出します。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    

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

    • KMS_PROJECT_ID: 鍵を含むプロジェクトの ID。プロジェクト番号は使用できません。
    • KMS_LOCATION: 鍵のマルチリージョン(us または europe)。
    • KEY_RING: 鍵を含むキーリングの名前。
    • KEY_NAME: 鍵の名前
    • PROJECT_ID: アプリまたはデータコネクタを含むプロジェクトの ID。
    • LOCATION: アプリまたはデータ コネクタのマルチリージョン: us または eu
    • CMEK_CONFIG_ID: CmekConfig リソースの一意の ID を設定します(例: default_cmek_config)。
    • SET_DEFAULT: マルチリージョンで作成される後続のアプリとデータコネクタのデフォルト鍵としてこの鍵を使用するには、true に設定します。

  2. 省略可: メソッドから返された name 値を記録し、長時間実行オペレーションの詳細を取得するの手順に沿って、オペレーションが完了するタイミングを確認します。

    通常、鍵の登録には数分かかります。

    オペレーションが完了すると、そのマルチリージョン内の新しいアプリとデータコネクタが鍵で保護されます。アプリの作成に関する一般的な情報については、アプリとデータストアについてをご覧ください。

  3. サードパーティ コネクタを使用していて、独自の鍵でサードパーティ データを保護する場合は、次のように単一リージョン鍵を追加で 3 つ作成します。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME",
      "singleRegionKeys": [ \
        {"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION_1/keyRings/KEY_RING_1/cryptoKeys/KEY_NAME_1"}, \
        {"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION_2/keyRings/KEY_RING_2/cryptoKeys/KEY_NAME_2"}, \
        {"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION_3/keyRings/KEY_RING_3/cryptoKeys/KEY_NAME_3"} \
      ] \
    }' \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    

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

    • KMS_PROJECT_ID: 鍵を含むプロジェクトの ID。プロジェクト番号は使用できません。

    • REGION の値を設定します。

      • REGION_1: eu ロケーションの場合は europe-west1 に設定し、us ロケーションの場合は us-east1 に設定します。

      • REGION_2: eu ロケーションの場合は europe-west4 に設定し、us ロケーションの場合は us-central1 に設定します。

      • REGION_3: eu ロケーションの場合は europe-north1 に設定し、us ロケーションの場合は us-west1 に設定します。

    • KEY_RING: 鍵を含むキーリングの名前。

    • KEY_NAME: マルチリージョン鍵の名前。

    • LOCATION: アプリまたはデータ コネクタのマルチリージョン(us または eu)。

    • PROJECT_ID: アプリまたはデータコネクタを含むプロジェクトの ID。

    • CMEK_CONFIG_ID: CmekConfig リソースの ID に設定します。ステップ 1 と同じ値(default_cmek_config など)を使用します。

    • SET_DEFAULT: マルチリージョンで作成される後続のアプリとデータコネクタのデフォルト鍵としてこの鍵を使用するには、true に設定します。

  4. アプリやデータコネクタを作成する前に、キーを使用できる状態であることを確認します。登録された鍵は、準備が整うまでリソースを保護できません。Cloud KMS 鍵を使用する準備ができていることを確認するをご覧ください。

  5. アプリを作成します。手順については、アプリを作成するアプリとデータストアについてをご覧ください。

コンソール

始める前に

リージョンが鍵で保護されていないことを確認します。鍵が REST コマンドですでにリージョンに登録されている場合、次の手順は失敗します。

ロケーションに有効な鍵があるかどうかを確認するには、Cloud KMS 鍵を表示するをご覧ください。

手順

Gemini Enterprise のサードパーティ コネクタを使用するときに独自の鍵を登録する手順は次のとおりです。

  1. Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。

    Gemini Enterprise

  2. [設定] をクリックし、[CMEK] タブを選択します。

  3. [us] または [eu] のロケーションの [鍵を追加] をクリックします。

    ロケーションの [鍵を追加] をクリックします。
    [鍵を追加] をクリックします。
    1. [Cloud KMS 鍵の選択] プルダウンをクリックして、鍵を選択します。

      • 鍵が別のプロジェクトにある場合は、[プロジェクトを切り替え] をクリックしてプロジェクト名をクリックし、作成した鍵の名前を入力して鍵を選択します。

      • 鍵のリソース名がわかっている場合は、[手動で入力] をクリックし、鍵のリソース名を貼り付けて [保存] をクリックします。

    2. [OK] > [保存] をクリックします。

      これにより鍵が登録され、default_cmek_config という CmekResource が作成されます。

  4. サードパーティのデータソースを接続する場合は、[単一リージョン鍵の設定] をクリックします。

    [単一リージョン鍵の設定] をクリックし、ロケーションの特定の鍵をクリックします。
    [単一リージョン鍵の設定] をクリックします。
    1. [Cloud KMS 鍵の選択] プルダウンをクリックし、各リージョンの鍵を選択します。

      • 鍵が別のプロジェクトにある場合は、[プロジェクトを切り替え] をクリックしてプロジェクト名をクリックし、作成した鍵の名前を入力して鍵を選択します。

      • 鍵のリソース名がわかっている場合は、[手動で入力] をクリックし、鍵のリソース名を貼り付けて [保存] をクリックします。

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

      これにより、単一リージョン鍵が default_cmek_config という CmekResource に登録されます。

  5. アプリやデータコネクタを作成する前に、キーを使用できる状態であることを確認します。登録された鍵は、準備が整うまでリソースを保護できません。Cloud KMS 鍵を使用する準備ができていることを確認するをご覧ください。

  6. アプリを作成します。手順については、アプリを作成するアプリとデータストアについてをご覧ください。

取り込まれたデータが検索結果に表示されるまでには数時間かかることがあります。

Cloud KMS 鍵を表示する

Gemini Enterprise に登録されている鍵を表示するには、次のいずれかを行います。

  • CmekConfig リソース名がある場合は、GetCmekConfig メソッドを呼び出します。

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
    

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

    • LOCATION: アプリまたはデータ コネクタのマルチリージョン: us または eu
    • PROJECT_ID: データを含むプロジェクトの ID。
    • CMEK_CONFIG_ID: CmekConfig リソースの ID。コンソールを使用して鍵を登録した場合、ID は default_cmek_config です。

    curl 呼び出しとレスポンスの例を次に示します。

    $ curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config"
    
    { "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key" "state": "ACTIVE" "isDefault": true }

  • CmekConfig リソース名がない場合は、ListCmekConfigs メソッドを呼び出します。

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs"
    

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

    • LOCATION: アプリまたはデータ コネクタのマルチリージョン(us または eu)。
    • PROJECT_ID: データを含むプロジェクトの ID。

    curl 呼び出しとレスポンスの例を次に示します。

    $ curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs"
    
    { "cmek_configs": [ { "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key" "state": "ACTIVE" "isDefault": true } ] }

Cloud KMS 鍵を使用する準備ができていることを確認する

鍵を登録したら、リソースを保護する前に、鍵を使用できる状態であることを確認する必要があります。

  1. 登録済みの Cloud KMS 鍵を表示します。Cloud KMS 鍵を表示するをご覧ください。

  2. コマンドの出力を確認します。次のすべての値が出力に含まれている場合、CmekConfig は使用可能です。

    • "state": "ACTIVE"
    • "isDefault": true

    "isDefault": true の場合、新しいアプリとデータ コネクタを保護するためにキーが自動的に適用されます。

Google Cloud コンソールを使用して、デフォルトの CMEK 構成が設定されていること(つまり、"isDefault": true)を確認することもできます。

  1. Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。

  2. [設定] をクリックし、[CMEK] タブを選択します。

  3. ロケーションの構成ステータスに登録済みのキーが表示されていることを確認します。

Cloud KMS 鍵の登録を解除する

Gemini Enterprise から鍵の登録を解除する手順は次のとおりです。

  1. 登録を解除する CmekConfig リソース名を指定して DeleteCmekConfig メソッドを呼び出します。

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
    

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

    • LOCATION: アプリまたはデータ コネクタのマルチリージョン(us または eu)。
    • PROJECT_ID: アプリまたはデータコネクタを含むプロジェクトの ID。
    • CMEK_CONFIG_ID: CmekConfig リソースの ID。コンソールを使用して鍵を登録した場合、ID は default_cmek_config です。

    curl 呼び出しとレスポンスの例を次に示します。

    $ curl -X DELETE
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config"
     
    {
     "name": "projects/my-ai-app-project-123/locations/us/operations/delete-cmek-config-56789",
     "metadata": {
      "@type": "type.googleapis.com/google.cloud.discoveryengine.v1.DeleteCmekConfigMetadata"
     }
    }
    

  2. 省略可: メソッドから返された name 値を記録し、長時間実行オペレーションの詳細を取得するの手順に沿って、オペレーションが完了するタイミングを確認します。

    CmekConfig の削除は長時間実行オペレーションであり、完了までに数日かかることがあります。これは、CmekConfig が削除される前に、基盤となる暗号化されたリソースが完全にプロビジョニング解除されるためです。

アプリまたはデータ コネクタが鍵で保護されていることを確認する

鍵の登録後に作成されたアプリとデータ コネクタは、鍵で保護されます。特定のアプリまたはデータ コネクタが鍵で保護されていることを確認する手順は次のとおりです。

Google Cloud コンソールを使用して確認する

  1. アプリが鍵で保護されているかどうかを確認するには:

    1. Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。

    2. [アプリ] をクリックし、アプリを選択します。

    3. [セキュリティ] をクリックし、[CMEK 構成] セクションを見つけます。

    4. [KMS 鍵] フィールドに登録した鍵が表示されていることを確認します。

  1. データコネクタが鍵で保護されているかどうかを確認するには:

    1. Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。

    2. [データストア] をクリックし、データコネクタを選択します。

    3. [KMS 鍵] フィールドに登録した鍵が表示されていることを確認します。

CLI / API を使用して確認する

  1. データストアを確認するには:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "x-goog-user-project: PROJECT_ID" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID"
    

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

    • LOCATION: プロジェクトのマルチリージョン(us または eu)。
    • PROJECT_ID: アプリまたはデータコネクタを含むプロジェクトの ID。
    • DATA_STORE_ID: アプリまたはデータコネクタに関連付けられているデータストアの ID。

    curl 呼び出しの例を次に示します。

    curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    -H "Content-Type: application/json"
    -H "x-goog-user-project: my-ai-app-project-123"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/collections/default_collection/dataStores/my-data-store-1"
    

  2. アプリの確認手順は次のとおりです。

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "x-goog-user-project: PROJECT_ID" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/ENGINE_ID"
    

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

    • LOCATION: プロジェクトのマルチリージョン(us または eu)。
    • PROJECT_ID: アプリを含むプロジェクトの ID。
    • ENGINE_ID: アプリの ID。

    curl 呼び出しの例を次に示します。

    curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    -H "Content-Type: application/json"
    -H "x-goog-user-project: my-ai-app-project-123"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/collections/default_collection/engines/my-app"
    

  3. コマンドの出力を確認します。cmekConfig フィールドが出力に含まれ、kmsKey フィールドに登録した鍵が表示されている場合、アプリまたはデータ コネクタは鍵で保護されています。

    データストアのレスポンスの例は次のようになります。

    {
     "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1",
     "displayName": "my-data-store-1",
     "industryVertical": "GENERIC",
     "createTime": "2023-09-05T21:20:21.520552Z",
     "solutionTypes": [
       "SOLUTION_TYPE_SEARCH"
     ],
     "defaultSchemaId": "default_schema",
     "cmekConfig": {
       "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1/cmekConfigs/default_cmek_config",
       "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
     }
    }
    

    アプリのレスポンスの例は次のようになります。

    {
      "name": "projects/969795412903/locations/us/collections/default_collection/engines/my-app",
      "displayName": "my-app",
      "dataStoreIds": [
        "my-data-store-1"
      ],
      "solutionType": "SOLUTION_TYPE_SEARCH",
      "searchEngineConfig": {
        "searchTier": "SEARCH_TIER_STANDARD"
      },
      "industryVertical": "GENERIC",
      "appType": "APP_TYPE_INTRANET",
      "cmekConfig": {
       "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1/cmekConfigs/default_cmek_config",
       "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
     }
    }
    

Cloud KMS 鍵で保護されている他のデータ

鍵は、アプリとデータ コネクタ内のデータだけでなく、Gemini Enterprise が保持するアプリ所有の他の種類のコア情報(フォローアップ検索中に生成されたセッション データなど)も保護できます。アプリとデータコネクタが CMEK で保護されている場合、この種のコア情報は CMEK で保護されます。

セッションが保護されていることを確認する特定のコマンドを実行することはできませんが、アプリが保護されているかどうかを確認することはできます。アプリで アプリまたはデータコネクタが鍵で保護されていることを確認するコマンドを実行して、cmekConfig リソースに鍵を表示します。これで、セッション データが保護されます。

Cloud KMS 鍵をローテーションする

鍵をローテーションすると、鍵の新しいバージョンが作成され、その新しいバージョンがメインのバージョンとして設定されます。元のバージョンの鍵をしばらく有効にしてから、無効にします。これにより、古い鍵を使用している可能性のある長時間実行オペレーションを完了させます。

次の手順では、Gemini Enterprise アプリまたはデータコネクタの鍵をローテーションする手順の概要を示します。鍵のローテーションに関する一般的な情報については、Cloud KMS ガイドの鍵のローテーションをご覧ください。

重要: レコメンデーションやアナリティクスを必要とするアプリに関連付けられたアプリやデータ コネクタで鍵をローテーションしないでください。また、サードパーティ コネクタに使用される単一リージョン鍵をローテーションしないでください。Gemini Enterprise における Cloud KMS の制限事項をご覧ください。

  1. 鍵を再登録します。これを行うには、Cloud KMS 鍵を登録するのステップ 1 を繰り返します。

  2. Cloud KMS ガイドの鍵の管理セクションの手順に沿って、次の操作を行います。

    1. 新しい鍵バージョンを作成して有効にし、メイン バージョンにします。

      新しい鍵がプライマリになると、アプリまたはデータコネクタ内のドキュメントは新しい鍵を使用して再暗号化されます。アプリまたはデータコネクタに追加される後続のドキュメントは新しい鍵で暗号化されます。

    2. 古い鍵バージョンを有効のままにします。

    3. 1 週間ほど経過したら、古い鍵バージョンを無効にしてすべてがこれまでと同様に動作していることを確認します。

    4. 後日、古い鍵バージョンを無効にしても問題が発生していないことを確認できたら、古い鍵バージョンを破棄できます。

Cloud KMS 鍵が無効または取り消された場合

鍵が無効になった場合、または鍵の権限が取り消された場合、アプリまたはデータ コネクタは 15 分以内にデータの取り込みとデータの提供を停止します。CMEK 構成の有効期限が切れて関連データが完全に削除される前に、30 日以内に鍵を再度有効にしてオペレーションを再開できます。ただし、鍵の再有効化や権限の復元には時間がかかります。アプリまたはデータコネクタがデータの提供を再開するまでに最大 24 時間かかることがあります。

したがって、必要な場合を除き、鍵を無効にしないでください。アプリまたはデータ コネクタで鍵を無効化または有効化するのは時間のかかるオペレーションです。たとえば、鍵を無効と有効の間で繰り返し切り替えると、アプリまたはデータコネクタが保護状態になるまでに時間がかかります。鍵を無効にしてすぐに再度有効にすると、鍵が最初にアプリまたはデータコネクタから無効になり、その後再度有効になるため、数日間のダウンタイムが発生する可能性があります。

トラブルシューティング: KMS 鍵プロジェクトが見つからないエラー

症状: KMS 鍵を使用してアプリまたはデータコネクタを作成しようとすると、次のようなエラーが表示されます。

KMS key projects/[...] not found for location: [...] and project number: [...]

問題: このエラー メッセージは誤解を招く可能性があります。これは、必ずしもキーが存在しないことを意味するわけではありません。指定されたロケーションで Gemini Enterprise で使用するために KMS 鍵が登録されていないことを示す場合があります。

解決策: この問題を解決するには、Cloud KMS 鍵を登録するの手順に沿って鍵を登録します。登録が完了すると、その鍵で保護されたアプリまたはデータコネクタを作成できます。