Kunci enkripsi yang dikelola pelanggan

Halaman ini menjelaskan cara menggunakan kunci enkripsi Anda sendiri untuk melindungi data toko di multi-region di AS dan UE.

Secara default, Vertex AI Agent Builder mengenkripsi konten Anda yang disimpan dalam penyimpanan. Vertex AI Agent Builder menangani dan mengelola enkripsi default ini untuk Anda tanpa perlu tindakan tambahan dari Anda.

Namun, jika Anda memiliki persyaratan kepatuhan atau peraturan khusus terkait kunci yang melindungi data, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk melindungi resource Anda. Dalam hal ini, Anda akan menggunakan kunci Cloud KMS dan mengikuti prosedur di halaman ini. Kunci dikaitkan dengan lokasi tertentu: multi-region AS atau multi-region UE.

Kunci Cloud KMS digunakan untuk mengenkripsi dan mendekripsi data dalam data Anda toko dan aplikasi. Untuk informasi umum tentang Cloud KMS, lihat dokumentasi Cloud Key Management Service.

Batasan Cloud KMS di Vertex AI Agent Builder

Batasan berikut berlaku untuk kunci CMEK (Cloud KMS) di Vertex AI Agent Builder:

  • Kunci yang sudah diterapkan ke penyimpanan data tidak dapat diubah.

  • Jika memiliki kebijakan organisasi CMK, Anda harus membuat penyimpanan data baru menggunakan API, bukan konsol Google Cloud. Pembuatan penyimpanan data baru menggunakan Konsol Google Cloud akan gagal jika Anda mengaktifkan kebijakan organisasi CMEK.

  • Setelah didaftarkan, kunci tidak dapat dibatalkan pendaftarannya atau dihapus dari penyimpanan data.

  • Anda harus menggunakan penyimpanan data dan aplikasi multi-region di AS atau Uni Eropa (bukan yang global). Untuk mengetahui informasi selengkapnya tentang multi-region dan residensi data, termasuk batas yang terkait dengan penggunaan lokasi non-global, lihat Lokasi Vertex AI Search atau Lokasi Agen Vertex AI.

  • Jika Anda perlu mendaftarkan lebih dari satu kunci untuk sebuah project, hubungi tim akun Google Anda untuk meminta penambahan kuota untuk konfigurasi CMEK, dengan memberikan justifikasi mengapa Anda memerlukan lebih dari satu kunci.

  • Penggunaan pengelola kunci eksternal (EKM) atau modul keamanan hardware (HSM) dengan CMEK sudah dalam versi GA dengan daftar yang diizinkan. Untuk menggunakan EKM atau HSM dengan CMEK, hubungi tim akun Google Anda.

    Batasan berikut berlaku untuk EKM atau HSM dengan CMEK:

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

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

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

  • Penyimpanan data yang dibuat sebelum kunci didaftarkan ke project tidak dapat dilindungi oleh kunci tersebut.

  • Untuk Vertex AI Search, edisi Enterprise diperlukan. Sebagai informasi tentang edisi Enterprise, lihat Tentang fitur lanjutan.

  • Anda tidak dapat menyesuaikan model penelusuran untuk penyimpanan data yang dilindungi oleh kunci CMEK.

  • Penyimpanan data penelusuran layanan kesehatan mematuhi CMEK. Namun, penyimpanan data konektor pihak ketiga lainnya dan konektor berkala BigQuery tidak mematuhi CMEK. Untuk informasi umum tentang penyimpanan data perawatan kesehatan, lihat Membuat penyimpanan data penelusuran perawatan kesehatan. Untuk informasi umum tentang konektor pihak ketiga, lihat Menghubungkan sumber data pihak ketiga.

  • Rotasi kunci tidak didukung untuk aplikasi rekomendasi. Jika Anda menonaktifkan atau menghancurkan versi kunci yang melindungi penyimpanan data terkait dengan aplikasi rekomendasi, aplikasi rekomendasi akan berhenti berfungsi.

  • Rotasi kunci tidak kompatibel dengan analisis. Jika Anda memutar kunci untuk penyimpanan data, aplikasi yang menggunakan penyimpanan data tersebut tidak lagi menampilkan Analytics.

  • Kunci CMEK tidak berlaku untuk API RAG berikut: pemeriksaan grounding, peringkat, dan pembuatan dasar.

Sebelum memulai

Pastikan Anda memenuhi prasyarat berikut:

  • Kunci Cloud KMS simetris dengan periode rotasi ditetapkan ke Tidak pernah (Rotasi manual). Lihat Membuat key ring dan Membuat kunci di Cloud KMS dokumentasi layanan.

  • Peran IAM Pengenkripsi/Pendekripsi CryptoKey (roles/cloudkms.cryptoKeyEncrypterDecrypter) pada kunci telah diberikan kepada agen layanan Discovery Engine. Untuk petunjuk umum tentang cara menambahkan peran ke agen layanan, lihat Memberikan atau mencabut satu peran.

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

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

  • Fitur edisi Enterprise diaktifkan untuk aplikasi. Lihat Mengaktifkan atau menonaktifkan edisi Enterprise.

Mendaftarkan kunci Cloud KMS Anda

Untuk mendaftarkan kunci terkelola Anda sendiri untuk Vertex AI Agent Builder, ikuti langkah-langkah berikut:

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

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"kms_key":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \
    "https://LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    
    • KMS_PROJECT_ID: ID project Anda yang berisi tombol. Nomor project tidak akan berfungsi.
    • KMS_LOCATION: Multi-region kunci KMS Anda: us atau europe.
    • KEY_RING: Nama key ring yang menyimpan kunci.
    • KEY_NAME: Nama kunci.
    • PROJECT_ID: ID project Anda yang berisi data Anda.
    • LOCATION: Multi-region penyimpanan data Anda: us atau eu.
    • CMEK_CONFIG_ID: ID resource CmekConfig.
    • SET_DEFAULT: Setel ke true untuk menggunakan kunci sebagai default kunci untuk penyimpanan data berikutnya yang dibuat di multi-region.

    Contoh panggilan dan respons curl terlihat seperti ini:

    $ curl -X PATCH
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    -H "Content-Type: application/json
    -d '{"kms_key":"projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"}'
    "https://us-discoveryengine.googleapis.com/v1alpha/projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-1?set_default=true"
     
    {
     "name": "projects/my-ai-app-project-123/locations/us/operations/update-cmek-config-56789",
     "metadata": {
      "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.UpdateCmekConfigMetadata"
     }
    }
    

  2. Opsional: Catat nilai name yang ditampilkan oleh dan ikuti petunjuk dalam Mendapatkan detail mengenai operasi yang berjalan lama melihat kapan operasi selesai.

    Biasanya diperlukan waktu beberapa menit untuk mendaftarkan kunci.

Setelah operasi selesai, penyimpanan data baru di multi-region tersebut dilindungi oleh kunci tersebut. Untuk informasi umum tentang membuat penyimpanan data, lihat Buat penyimpanan data penelusuran.

Melihat kunci Cloud KMS

Guna melihat kunci terdaftar untuk Vertex AI Agent Builder, lakukan salah satu langkah 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/v1alpha/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
    
    • LOCATION: Multi-region penyimpanan data Anda: us atau eu.
    • PROJECT_ID: ID project Anda yang berisi data
    • CMEK_CONFIG_ID: ID resource CmekConfig.

    Contoh panggilan dan respons curl terlihat seperti ini:

    $ curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1alpha/projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-1"
     
    {
      "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-1",
      "kms_key": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
      "state": "ACTIVE"
      "is_default": 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/v1alpha/projects/PROJECT_ID/locations/LOCATION/cmekConfigs"
    
    • LOCATION: Multi-region penyimpanan data Anda: us atau eu.
    • PROJECT_ID: ID project Anda yang berisi data

    Contoh panggilan dan respons curl terlihat seperti ini:

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

Opsional: Memverifikasi bahwa penyimpanan data dilindungi oleh kunci

Penyimpanan data yang dibuat sebelum kunci Anda didaftarkan tidak dilindungi dengan kuncinya. Jika Anda ingin mengonfirmasi bahwa penyimpanan data tertentu dilindungi oleh kunci Anda, ikuti langkah-langkah berikut:

  1. Jalankan perintah curl berikut di 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/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID"
    
    • LOCATION: Multi-region penyimpanan data Anda: us atau eu.
    • PROJECT_ID: ID project Anda yang berisi data Anda.
    • DATA_STORE_ID: ID penyimpanan data.

    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/v1alpha/projects/my-ai-app-project-123/locations/us/collections/default_collection/dataStores/my-data-store-1"
    

  2. Tinjau output dari perintah: Jika kolom cmekConfig ada dalam output dan kolom kmsKey menampilkan kunci yang Anda daftarkan, maka penyimpanan data dilindungi oleh kunci tersebut.

    Contoh respons 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/cmek-config-1",
       "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
     }
    }
    

Merotasi kunci

Saat merotasi kunci, Anda membuat versi kunci baru dan menetapkan versi baru sebagai versi utama. Membiarkan kunci versi asli diaktifkan untuk sementara waktu sebelum menonaktifkannya. Tindakan ini memberi operasi yang berjalan lama yang mungkin menggunakan kunci lama waktu untuk diselesaikan.

Prosedur berikut menguraikan langkah-langkah untuk merotasi kunci untuk sebuah Penyimpanan data Vertex AI Agent Builder. Untuk informasi umum tentang merotasi kunci, lihat Rotasi kunci di panduan Cloud KMS.

Penting: Jangan putar kunci di penyimpanan data yang terkait dengan aplikasi rekomendasi atau dengan aplikasi apa pun yang memerlukan analisis. Lihat Batasan Cloud KMS di Vertex AI Agent Builder.

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

  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.

    2. Biarkan versi kunci yang lebih lama tetap aktif.

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

    4. Di kemudian hari, ketika Anda yakin bahwa tidak ada masalah yang disebabkan oleh menonaktifkan versi kunci yang lebih lama, Anda dapat menghancurkan versi kunci yang lebih lama.

Jika kunci dinonaktifkan atau dicabut

Jika kunci dinonaktifkan atau izin untuk kunci tersebut dicabut, penyimpanan data akan berhenti menyerap data dan berhenti menayangkan data dalam waktu 15 menit. Namun, mengaktifkan kembali kunci atau memulihkan izin membutuhkan waktu yang lama. Teknologi ini dapat memerlukan waktu hingga 24 jam sebelum penyimpanan data dapat melanjutkan penayangan data.

Oleh karena itu, jangan nonaktifkan kunci kecuali jika diperlukan. Menonaktifkan dan mengaktifkan kunci pada penyimpanan data adalah operasi yang memakan waktu. Misalnya, berulang kali beralih antara nonaktif dan aktif berarti akan membutuhkan waktu lama untuk penyimpanan data untuk mencapai status terlindungi. Menonaktifkan kunci dan mengaktifkannya kembali segera setelahnya dapat menyebabkan periode nonaktif selama beberapa hari karena kunci pertama kali dinonaktifkan dari penyimpanan data, lalu diaktifkan kembali.