Kunci enkripsi yang dikelola pelanggan (Customer-Managed Encryption Key/CMEK)

Secara default, Agent Assist mengenkripsi konten pelanggan dalam penyimpanan. Agent Assist 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 Assist. Dengan menggunakan kunci Cloud KMS, Anda dapat mengontrol tingkat perlindungan, lokasi, jadwal rotasi, izin penggunaan dan akses, serta batas kriptografisnya. Dengan menggunakan Cloud KMS, Anda juga dapat melihat log audit dan mengontrol siklus proses kunci. Alih-alih 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 Assist mirip dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi Anda, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).

Data yang dilindungi

Hanya data Percakapan dalam penyimpanan di lokasi yang didukung yang dapat dilindungi dengan CMEK.

Lokasi yang Didukung

CMEK tersedia di semua lokasi Agent Assist kecuali global dan eu. Untuk mengetahui detail selengkapnya, lihat juga halaman regionalisasi Agent Assist.

Batasan

CMEK juga tersedia untuk semua fitur yang didukung lokasi Agent Assist, termasuk hal berikut:

Membuat kunci

Untuk membuat kunci, Anda menggunakan layanan KMS. Untuk mengetahui petunjuknya, lihat Membuat kunci simetris. Saat membuat atau memilih kunci, Anda harus mengonfigurasi hal berikut:

  • Pastikan untuk memilih lokasi yang Anda gunakan untuk data Agent Assist. Jika tidak, permintaan akan gagal.

Mengaktifkan CMEK di Agent Assist

Sebelum membuat data Agent Assist di lokasi tertentu, Anda dapat menentukan apakah data di lokasi ini akan dilindungi oleh kunci yang dikelola pelanggan. Konfigurasikan kunci Anda saat ini.

Prasyarat

  1. Buat Akun layanan CMEK CCAI untuk project Anda dengan Google Cloud CLI. Untuk informasi selengkapnya, lihat dokumentasi identitas layanan gcloud.

    gcloud beta services identity create --service=dialogflow.googleapis.com --project=PROJECT_ID

    Akun layanan akan dibuat. ID ini tidak akan ditampilkan dalam respons pembuatan, tetapi akan memiliki format berikut:

    service-PROJECT_NUMBER@gcp-sa-ccai-cmek.
  2. Berikan peran Pengenkripsi/Pendekripsi Cloud KMS CryptoKey ke Akun Layanan CMEK CCAI untuk memastikan bahwa layanan memiliki izin untuk mengenkripsi dan mendekripsi dengan kunci Anda.

    gcloud kms keys add-iam-policy-binding KMS_KEY_ID \
    --project=PROJECT_ID \
    --location=LOCATION_ID \
    --keyring=KMS_KEY_RING \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-ccai-cmek. \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Mengonfigurasi kunci untuk lokasi Agent Assist

  1. Gunakan InitializeEncryptionSpec API untuk mengonfigurasi kunci.

    Anda harus memberikan variabel berikut:

    • PROJECT_ID: Google Cloud Project ID Anda.
    • LOCATION_ID: Lokasi yang Anda pilih untuk mengaktifkan CMEK di Agent Assist.
    • KMS_KEY_RING: Key ring tempat kunci KMS Anda dibuat. (Lokasi di key ring, seperti projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING, harus cocok dengan lokasi tempat Anda mengaktifkan CMEK.)
    • KMS_KEY_ID: Nama kunci KMS Anda yang akan digunakan untuk mengenkripsi dan mendekripsi data Agent Assist di lokasi yang dipilih.

    Contoh:

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        -d "{ encryption_spec: { kms_key: 'projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_ID' } }" \
        "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec:initialize"

    Anda akan melihat respons JSON seperti berikut:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID"
    }
  2. Gunakan GetOperation API untuk memeriksa hasil operasi yang berjalan lama.

    Contoh:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID"

Memeriksa Setelan CMEK

Gunakan GetEncryptionSpec API untuk memeriksa kunci enkripsi yang dikonfigurasi untuk suatu lokasi.

Contoh:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec"
  

Membatalkan kunci

Untuk mencabut akses Agent Assist ke kunci, Anda dapat menonaktifkan versi kunci KMS atau menghapus peran Pengenkripsi/Pendekripsi Cloud KMS akun layanan dari kunci KMS.

Setelah pencabutan kunci, data terenkripsi tidak akan dapat diakses oleh Agent Assist dan layanan tidak akan lagi dalam status operasional hingga izin kunci diaktifkan kembali.