Kunci enkripsi yang dikelola pelanggan

Secara default, Penelusuran Agen mengenkripsi konten pelanggan dalam penyimpanan. Penelusuran Agen menangani enkripsi untuk Anda tanpa tindakan tambahan dari Anda. Opsi ini disebut Enkripsi default Google.

Jika ingin mengontrol kunci enkripsi, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) di Cloud KMS dengan layanan yang terintegrasi dengan CMEK, termasuk Agent Search. Dengan menggunakan kunci Cloud KMS, Anda dapat mengontrol tingkat perlindungan, lokasi, jadwal rotasi, izin penggunaan dan akses, serta batasan kriptografisnya. Dengan Cloud KMS, Anda juga dapat melacak penggunaan kunci, melihat log audit, dan mengontrol siklus proses kunci. Bukan Google yang memiliki dan mengelola kunci enkripsi kunci (KEK) simetris yang melindungi data Anda. Andalah yang mengontrol dan mengelola kunci ini di Cloud KMS.

Setelah Anda menyiapkan resource dengan CMEK, pengalaman mengakses resource Agent Search Anda akan serupa dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).

Saat kunci CMEK didaftarkan, Agent Search akan memanggil Cloud KMS secara berkala untuk mempertahankan instance data Anda yang terisolasi secara logis. Hal ini terjadi meskipun konfigurasi CMEK tidak ditetapkan sebagai default dan tidak ada aplikasi atau konektor data yang menggunakannya. Penggunaan berasal dari penyiapan dan menjalankan instance, bukan dari volume data atau jumlah pengguna yang mengaksesnya. Lihat Harga Cloud Key Management Service.

Batasan Cloud KMS di Agent Search

Batasan berikut berlaku untuk kunci CMEK (Cloud KMS) di Agent Search:

  • Kunci yang sudah diterapkan ke aplikasi atau konektor data tidak dapat diubah, meskipun versi kunci dapat dirotasi.
  • Anda harus menggunakan aplikasi dan penyimpanan data multi-region AS atau Uni Eropa (bukan global). Untuk mengetahui informasi selengkapnya tentang multi-region dan residensi data, termasuk batas yang terkait dengan penggunaan lokasi non-global, lihat lokasi.
  • Jika Anda perlu mendaftarkan lebih dari satu kunci untuk project, hubungi tim akun Google Anda untuk meminta penambahan kuota untuk konfigurasi CMEK, dengan memberikan alasan mengapa Anda memerlukan lebih dari satu kunci.

    Batasan berikut berlaku untuk EKM atau HSM dengan CMEK:

    • Kuota EKM dan HSM Anda untuk panggilan enkripsi dan dekripsi harus memiliki ruang kosong QPM minimal 1.000. Untuk mengetahui cara memeriksa kuota, lihat Memeriksa kuota Cloud KMS.

    • Jika menggunakan EKM, kunci harus dapat dijangkau selama lebih dari 90% dari setiap jangka waktu yang lebih dari 30 detik. Jika kunci tidak dapat dijangkau selama jangka waktu ini, hal tersebut dapat berdampak negatif pada pengindeksan dan keaktualan penelusuran.

    • Jika ada masalah penagihan, masalah kehabisan kuota yang terus-menerus, atau masalah tidak dapat dijangkau yang terus-menerus selama lebih dari 12 jam, layanan akan otomatis menonaktifkan CmekConfig yang terkait dengan kunci EKM atau HSM.

  • Aplikasi atau konektor data yang dibuat sebelum kunci didaftarkan ke project tidak dapat dilindungi oleh kunci tersebut.
  • Untuk aplikasi dengan beberapa konektor data, jika satu konektor data menggunakan konfigurasi CMEK, semua konektor data lainnya juga harus menggunakan konfigurasi CMEK yang sama.

Tentang kunci satu region untuk konektor pihak ketiga

Jika Anda menggunakan konektor pihak ketiga dan ingin menggunakan kunci Anda sendiri untuk melindungi data yang terhubung, Anda harus membuat tiga kunci satu region tambahan selain kunci multi-region. Perintah untuk membuat kunci diberikan dalam prosedur berikut, Mendaftarkan kunci Cloud KMS Anda.

Kunci tunggal harus dibuat untuk region berikut:

Multi-region Satu region
eu europe-west1 europe-west4 europe-north1
us us-east1 us-central1 us-west1

Sebelum memulai

Pastikan Anda memenuhi prasyarat berikut:

  • Buat kunci simetris Cloud KMS multi-region. Lihat Membuat key ring dan Membuat kunci di dokumentasi Cloud KMS.

    • Tetapkan periode rotasi ke Tidak pernah (Rotasi manual).

    • Untuk Location, pilih Multi-region, lalu pilih europe atau us dari dropdown.

  • Peran IAM CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) pada kunci telah diberikan kepada agen layanan Discovery Engine. Akun agen layanan memiliki alamat email yang menggunakan format berikut: service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com. Untuk mengetahui petunjuk umum tentang cara menambahkan peran ke agen layanan, lihat bagian Memberikan atau mencabut satu peran.

  • Peran IAM CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) pada kunci telah diberikan kepada agen layanan Cloud Storage. Jika peran ini tidak diberikan, impor data untuk aplikasi dan penghubung data yang dilindungi CMEK akan gagal karena Discovery Engine tidak dapat membuat bucket dan direktori sementara yang dilindungi CMEK yang diperlukan untuk mengimpor.

  • Jangan membuat aplikasi atau konektor data yang ingin Anda kelola dengan kunci Anda hingga setelah Anda menyelesaikan petunjuk pendaftaran kunci di halaman ini.

Mendaftarkan kunci Cloud KMS Anda

Untuk mengenkripsi data menggunakan CMEK, Anda harus mendaftarkan kunci multi-region. Secara opsional, jika data Anda memerlukan kunci satu region, misalnya, saat menggunakan konektor pihak ketiga, Anda juga perlu mendaftarkan kunci satu region Anda.

Sebelum memulai

Pastikan hal berikut:

  • Region belum dilindungi oleh kunci. Prosedur di bawah akan gagal jika kunci sudah terdaftar untuk region melalui perintah REST. Untuk menentukan apakah ada kunci aktif di Agent Search untuk suatu lokasi, lihat Melihat kunci Cloud KMS.

Prosedur

REST

Untuk mendaftarkan kunci Anda sendiri untuk Penelusuran Agen, ikuti langkah-langkah berikut:

  1. Panggil metode UpdateCmekConfig dengan kunci yang ingin Anda daftarkan.

    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"
    

    Ganti kode berikut:

    • KMS_PROJECT_ID: ID project Anda yang berisi kunci. Nomor project tidak akan berfungsi.
    • KMS_LOCATION: multi-region kunci Anda: us atau europe.
    • KEY_RING: nama key ring yang menyimpan kunci.
    • KEY_NAME: nama kunci.
    • PROJECT_ID: ID project Anda yang berisi aplikasi atau konektor data.
    • LOCATION: multi-region aplikasi atau konektor data Anda: us atau eu.
    • CMEK_CONFIG_ID: tetapkan ID unik untuk resource CmekConfig, misalnya, default_cmek_config.
    • SET_DEFAULT: ditetapkan ke true untuk menggunakan kunci sebagai kunci default untuk aplikasi dan konektor data berikutnya yang dibuat di multi-region.

  2. Opsional: Catat nilai name yang ditampilkan oleh metode dan ikuti petunjuk di Mendapatkan detail tentang operasi yang berjalan lama untuk melihat kapan operasi selesai.

    Biasanya diperlukan waktu beberapa menit untuk mendaftarkan kunci.

    Setelah operasi selesai, aplikasi dan konektor data baru di multi-region tersebut akan dilindungi oleh kunci. Untuk mengetahui informasi umum tentang cara membuat aplikasi, lihat Tentang aplikasi dan penyimpanan data.

  3. Buat aplikasi. Untuk mengetahui petunjuknya, lihat Membuat aplikasi dan Tentang aplikasi dan penyimpanan data.

Konsol

Prosedur

Untuk mendaftarkan kunci Anda sendiri untuk Penelusuran Agen, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman AI Applications.

    AI Applications

  2. Klik Setelan, lalu pilih tab CMEK.

  3. Klik Tambahkan kunci untuk lokasi us atau eu.

    Klik tambahkan kunci untuk lokasi.
    Klik tambahkan kunci.
    1. Klik drop-down Select a Cloud KMS key, lalu pilih kunci.

      • Jika kunci berada di project lain, klik Switch project, klik nama project Anda, ketik nama kunci yang Anda buat, lalu pilih kunci.

      • Jika Anda mengetahui nama aset kunci, klik Masukkan secara manual, tempel nama aset kunci, lalu klik Simpan.

    2. Klik OK > Simpan.

  4. Buat aplikasi. Untuk mengetahui petunjuknya, lihat Tentang aplikasi dan penyimpanan data.

Tindakan ini akan mendaftarkan kunci Anda, sehingga membuat CmekResource bernama default_cmek_config.

Diperlukan waktu beberapa jam agar data yang diserap muncul di hasil penelusuran.

Melihat kunci Cloud KMS

Untuk melihat kunci terdaftar untuk Penelusuran Agen, lakukan salah satu hal berikut:

  • Jika Anda memiliki nama resource CmekConfig, panggil metode 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"
    

    Ganti kode berikut:

    • LOCATION: multi-region aplikasi atau konektor data Anda: us atau eu.
    • PROJECT_ID: ID project Anda yang berisi data.
    • CMEK_CONFIG_ID: ID resource CmekConfig. Jika Anda mendaftarkan kunci menggunakan konsol, ID-nya adalah default_cmek_config.

    Contoh panggilan dan respons curl akan terlihat seperti ini:

    $ 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 }

  • Jika Anda tidak memiliki nama resource CmekConfig, panggil metode ListCmekConfigs:

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

    Ganti kode berikut:

    • LOCATION: multi-region aplikasi atau konektor data Anda: us atau eu.
    • PROJECT_ID: ID project Anda yang berisi data.

    Contoh panggilan dan respons curl akan terlihat seperti ini:

    $ 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 } ] }

Membatalkan pendaftaran kunci Cloud KMS Anda

Untuk membatalkan pendaftaran kunci Anda dari Penelusuran Agen, ikuti langkah-langkah berikut:

  1. Panggil metode DeleteCmekConfig dengan nama resource CmekConfig yang ingin Anda batalkan pendaftarannya.

    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"
    

    Ganti kode berikut:

    • LOCATION: multi-region aplikasi atau konektor data Anda: us atau eu.
    • PROJECT_ID: ID project Anda yang berisi aplikasi atau konektor data.
    • CMEK_CONFIG_ID: ID resource CmekConfig. Jika Anda mendaftarkan kunci menggunakan konsol, ID-nya adalah default_cmek_config.

    Contoh panggilan dan respons curl akan terlihat seperti ini:

    $ 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. Opsional: Catat nilai name yang ditampilkan oleh metode dan ikuti petunjuk di Mendapatkan detail tentang operasi yang berjalan lama untuk melihat kapan operasi selesai.

    Menghapus CmekConfig adalah operasi yang berjalan lama dan dapat memerlukan waktu hingga beberapa hari untuk diselesaikan. Hal ini karena resource terenkripsi yang mendasarinya sepenuhnya dihentikan penyediaannya sebelum CmekConfig dihapus.

Memverifikasi bahwa aplikasi atau konektor data dilindungi oleh kunci

Aplikasi dan konektor data yang dibuat setelah kunci Anda didaftarkan dilindungi oleh kunci tersebut. Jika Anda ingin mengonfirmasi bahwa aplikasi atau konektor data tertentu dilindungi oleh kunci Anda, ikuti langkah-langkah berikut:

Memverifikasi menggunakan konsol Google Cloud

Anda dapat menggunakan konsol Google Cloud untuk memeriksa apakah konfigurasi CMEK default telah ditetapkan.

  1. Di konsol Google Cloud , buka halaman AI Applications.
  2. Klik Setelan, lalu pilih tab CMEK.
  3. Pastikan status konfigurasi untuk lokasi Anda ditampilkan sebagai Aktif dan menampilkan kunci terdaftar Anda.

Memverifikasi menggunakan CLI / API

  1. Untuk memverifikasi penyimpanan data:

    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"
    

    Ganti kode berikut:

    • LOCATION: multi-region project Anda: us atau eu.
    • PROJECT_ID: ID project Anda yang berisi aplikasi atau konektor data.
    • DATA_STORE_ID: ID penyimpanan data yang terkait dengan aplikasi atau konektor data Anda.

    Contoh panggilan curl terlihat seperti ini:

    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. Untuk memverifikasi aplikasi:

    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"
    

    Ganti kode berikut:

    • LOCATION: multi-region project Anda: us atau eu.
    • PROJECT_ID: ID project Anda yang berisi aplikasi.
    • ENGINE_ID: ID aplikasi Anda.

    Contoh panggilan curl terlihat seperti ini:

    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. Tinjau output dari perintah: Jika kolom cmekConfig ada di output dan kolom kmsKey menampilkan kunci yang Anda daftarkan, maka aplikasi atau konektor data dilindungi oleh kunci tersebut.

    Contoh respons untuk penyimpanan data akan terlihat seperti ini:

    {
     "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"
     }
    }
    

    Contoh respons untuk aplikasi akan terlihat seperti ini:

    {
      "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"
     }
    }
    

Data lain yang dilindungi oleh kunci Cloud KMS

Selain data di aplikasi dan konektor data, kunci Anda dapat melindungi jenis informasi inti milik aplikasi lainnya yang disimpan oleh Agent Search, seperti data sesi yang dihasilkan selama penelusuran dengan tindak lanjut. Jenis informasi inti ini dilindungi CMEK jika aplikasi dan konektor data dilindungi CMEK.

Meskipun Anda tidak dapat menjalankan perintah tertentu untuk memverifikasi bahwa sesi dilindungi, Anda dapat memverifikasi apakah aplikasi dilindungi. Jalankan perintah Verify that an app or data connector is protected by a key agar aplikasi dapat melihat kunci di resource cmekConfig. Kemudian, Anda akan mengetahui bahwa data sesi terlindungi.

Merotasi kunci Cloud KMS

Saat merotasi kunci, Anda membuat versi baru kunci dan menetapkan versi baru sebagai versi utama. Biarkan versi asli kunci diaktifkan selama beberapa waktu sebelum menonaktifkannya. Hal ini memberikan waktu bagi operasi yang berjalan lama yang mungkin menggunakan kunci lama untuk diselesaikan.

Prosedur berikut menguraikan langkah-langkah untuk merotasi kunci bagi aplikasi atau konektor data Agent Search. Untuk mengetahui informasi umum tentang merotasi kunci, lihat Rotasi kunci di panduan Cloud KMS.

Penting: Jangan mengganti kunci pada aplikasi atau konektor data yang terkait dengan rekomendasi atau dengan aplikasi apa pun yang memerlukan analisis, dan jangan mengganti kunci satu wilayah yang digunakan untuk konektor pihak ketiga. Lihat Batasan Cloud KMS di Agent Search.

  1. Daftarkan ulang kunci Anda. Lakukan ini dengan mengulangi langkah 1 Mendaftarkan kunci Cloud KMS Anda.

  2. Lihat petunjuk di bagian Mengelola kunci dalam panduan Cloud KMS untuk melakukan hal berikut:

    1. Buat versi kunci baru, aktifkan, dan jadikan sebagai kunci utama.

      Setelah kunci baru dijadikan kunci utama, dokumen di aplikasi atau konektor data akan dienkripsi ulang menggunakan kunci baru, dan dokumen berikutnya yang ditambahkan ke aplikasi atau konektor data akan dienkripsi dengan kunci baru.

    2. Biarkan versi kunci yang lebih lama tetap diaktifkan.

    3. Setelah sekitar satu minggu, nonaktifkan versi kunci yang lebih lama dan pastikan semuanya berfungsi seperti sebelumnya.

    4. Di lain waktu, jika Anda yakin bahwa tidak ada masalah yang disebabkan oleh penonaktifan versi kunci yang lebih lama, Anda dapat menghancurkan versi kunci yang lebih lama.

Jika kunci Cloud KMS dinonaktifkan atau dicabut

Jika kunci dinonaktifkan atau izin untuk kunci dicabut, aplikasi atau konektor data akan berhenti menyerap data dan berhenti menayangkan data dalam waktu 15 menit. Anda dapat mengaktifkan kembali kunci dalam waktu 30 hari untuk melanjutkan operasi sebelum konfigurasi CMEK berakhir dan data terkait dihapus secara permanen. Namun, mengaktifkan kembali kunci atau memulihkan izin memerlukan waktu yang lama. Mungkin perlu waktu hingga 24 jam sebelum aplikasi atau konektor data dapat melanjutkan penayangan data.

Oleh karena itu, jangan nonaktifkan kunci kecuali jika diperlukan. Menonaktifkan dan mengaktifkan kunci di aplikasi atau konektor data adalah operasi yang memakan waktu. Misalnya, jika kunci berulang kali dialihkan antara dinonaktifkan dan diaktifkan, aplikasi atau konektor data akan membutuhkan waktu lama untuk mencapai status terlindungi. Menonaktifkan kunci dan mengaktifkannya kembali segera setelahnya dapat menyebabkan waktu henti kerja selama berhari-hari karena kunci pertama-tama dinonaktifkan dari aplikasi atau konektor data dan kemudian diaktifkan kembali.

Pemecahan masalah: Error project kunci KMS tidak ditemukan

Gejala: Saat Anda mencoba membuat konektor aplikasi atau data menggunakan kunci KMS, Anda menerima error yang mirip dengan berikut ini:

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

Masalah: Pesan error ini dapat menyesatkan. Hal ini tidak berarti kunci tersebut tidak ada. Sebagai gantinya, hal ini mungkin menunjukkan bahwa kunci KMS belum didaftarkan untuk digunakan dengan Penelusuran Agen di lokasi yang ditentukan.

Solusi: Untuk mengatasi masalah ini, daftarkan kunci Anda dengan mengikuti langkah-langkah di Mendaftarkan kunci Cloud KMS Anda. Setelah pendaftaran selesai, Anda dapat membuat aplikasi atau konektor data yang dilindungi oleh kunci tersebut.