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

Secara default, semua data dalam penyimpanan di Firestore dalam mode Datastore dienkripsi menggunakan enkripsi default Google. Firestore dalam mode Datastore akan menangani dan mengelola enkripsi ini untuk Anda tanpa perlu tindakan tambahan.

Jika memiliki persyaratan kepatuhan atau peraturan khusus terkait kunci yang melindungi data, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk Firestore dalam mode Datastore. Firestore dalam mode Datastore dilindungi menggunakan kunci yang Anda kontrol dan kelola di Cloud Key Management Service (Cloud KMS), bukan pengelolaan kunci enkripsi yang melindungi data Anda.

Halaman ini menjelaskan CMEK untuk Firestore dalam mode Datastore. Untuk mengetahui informasi selengkapnya tentang CMEK secara umum, termasuk waktu dan alasan mengaktifkannya, lihat Dokumentasi Cloud KMS. Untuk mengetahui petunjuk cara melakukan tugas terkait CMEK dengan Firestore dalam mode Datastore, lihat Menggunakan CMEK.

Fitur

  • Kontrol data: CMEK memungkinkan Anda mengelola akses ke kunci KMS. Anda dapat merotasi, menonaktifkan, dan menghancurkan kunci yang digunakan untuk mengenkripsi data dalam penyimpanan di Firestore dalam database mode Datastore.
  • Performa: CMEK tidak memengaruhi SLA Firestore.
  • Kemampuan untuk diaudit: Jika Anda mengaktifkan logging audit untuk Cloud KMS, semua operasi pada kunci akan dicatat ke dalam log dan dapat dilihat di Cloud Logging.
  • Batasan kebijakan organisasi: Anda dapat menggunakan batasan kebijakan organisasi CMEK untuk menentukan persyaratan kepatuhan enkripsi untuk Firestore dalam database mode Datastore di organisasi Anda.

Harga

Cloud KMS mengenakan biaya untuk kunci dan operasi kriptografi apa pun yang dilakukan menggunakan kunci tersebut. Lihat Harga Cloud KMS untuk mengetahui detailnya.

Anda akan ditagih atas biaya operasi saat Firestore dalam mode Datastore meminta kunci Cloud KMS untuk melakukan operasi enkripsi atau dekripsi. Enkripsi/dekripsi tidak disinkronkan dengan permintaan Anda. Hal ini dilakukan setiap 5 menit dengan melakukan polling pada Cloud KMS. Biaya umumnya rendah, mengingat perkiraan jumlah operasi kriptografi yang dihasilkan oleh Firestore dalam mode Datastore. Biaya untuk Cloud Audit Logs merupakan pengeluaran tambahan, tetapi secara umum juga diperkirakan akan rendah, mengingat jumlah operasi kriptografi yang diharapkan.

Tidak ada biaya tambahan Firestore dalam mode Datastore untuk penggunaan database yang dilindungi CMEK dan harga Firestore dalam mode Datastore terus berlaku.

Jika Anda mencabut kunci ke database, biaya penyimpanan akan ditagih berdasarkan ukuran hari terakhir kunci tersedia. Anda akan terus dikenai biaya penyimpanan dengan ukuran database tersebut hingga database dihapus atau kunci tersebut tersedia kembali.

Apa yang dilindungi dengan CMEK

Saat Anda membuat database Firestore yang dilindungi CMEK, kunci Cloud KMS Anda digunakan untuk melindungi data dalam penyimpanan. Hal ini termasuk data yang disimpan di {i>disk<i} atau {i>flash<i}. Beberapa pengecualian berlaku. Jenis data berikut dienkripsi dengan enkripsi default Google, bukan dengan kunci CMEK:

  • Data dalam pengiriman atau dalam memori
  • Metadata database

Cara penanganan status kunci yang tidak tersedia

Operasi enkripsi dan dekripsi tidak dikeluarkan pada setiap permintaan data. Sebagai gantinya, sistem Firestore memeriksa Cloud Key Management Service setiap 5 menit untuk memeriksa apakah kunci masih tersedia, lalu menjalankan operasi enkripsi dan dekripsi jika kunci tersedia. Jika sistem mendeteksi bahwa kunci tidak tersedia, dalam waktu 10 menit, setiap panggilan berikutnya ke database Firestore, termasuk membaca, menulis, dan membuat kueri, tampilkan error FAILED_PRECONDITION dengan pesan The customer-managed encryption key required by the requested resource is not accessible.

Kunci dianggap tidak tersedia dalam situasi apa pun yang dengan sengaja melarang Firestore untuk mengakses kunci. Hal ini mencakup:

Jika kunci diaktifkan kembali, operasi polling mendeteksi bahwa kunci tersebut telah tersedia lagi. Akses akan diaktifkan kembali, biasanya dalam hitungan menit, tetapi dapat memerlukan waktu hingga beberapa jam dalam kasus yang jarang terjadi. Perlu diperhatikan bahwa penerapan beberapa operasi pada kunci Cloud KMS, seperti menonaktifkan atau menghancurkan kunci, dapat memerlukan waktu hingga 3 jam. Firestore tidak mendeteksi perubahan apa pun hingga perubahan tersebut diberlakukan di Cloud KMS.

Bergantung pada situasinya, pengaktifan kembali kunci melibatkan hal-hal berikut:

  • Mengaktifkan kembali versi kunci yang dinonaktifkan.
  • Memulihkan versi kunci yang dihancurkan. Sebelum dihancurkan secara permanen, versi kunci dijadwalkan untuk dimusnahkan. Anda hanya dapat memulihkan kunci selama periode saat versi kunci dijadwalkan untuk dimusnahkan. Anda tidak dapat memulihkan kunci yang telah dihancurkan secara permanen.
  • Memberikan kembali izin kepada agen layanan Firestore untuk mengakses kunci.

Pertimbangan utama eksternal

Saat Anda menggunakan kunci Cloud EKM, Google tidak memiliki kontrol atas ketersediaan kunci yang dikelola secara eksternal di sistem partner pengelolaan kunci eksternal.

Jika kunci yang dikelola secara eksternal tidak tersedia, Firestore dalam mode Datastore akan terus mendukung operasi database lengkap menggunakan versi kunci yang di-cache, hingga satu jam.

Setelah satu jam, jika Firestore dalam mode Datastore masih tidak dapat terhubung dengan Cloud KMS, Firestore dalam mode Datastore mulai membuat database offline sebagai tindakan perlindungan. Panggilan ke database akan gagal dengan error FAILED_PRECONDITION yang menyertakan detail tambahan.

Lihat dokumentasi Cloud External Key Manager untuk pertimbangan lainnya saat menggunakan kunci eksternal.

Batasan

  • Mengubah kunci untuk database yang dilindungi CMEK tidak didukung. Rotasi, pengaktifan, dan penonaktifan kunci didukung.
  • Operasi jadwal pencadangan dan pemulihan tidak didukung untuk database yang dilindungi CMEK. Anda dapat menggunakan pemulihan point-in-time (PITR) untuk pemulihan dari bencana.
  • Database yang dilindungi CMEK hanya mendukung Key Visualizer untuk data entitas dan dokumen, bukan untuk data indeks.
  • Anda tidak dapat mengaktifkan CMEK pada database yang ada. Anda hanya dapat mengaktifkan CMEK pada database baru, dan Anda harus mengaktifkannya saat membuat database. Untuk memigrasikan data dalam database yang sudah ada yang tidak dilindungi CMEK ke database yang dilindungi CMEK, ekspor data Anda dan impor data ke database baru yang dilindungi CMEK.
  • Pelacakan kunci tidak didukung untuk database yang dilindungi CMEK.
  • Selama Pratinjau, Firestore akan mendukung sejumlah kecil database yang dilindungi CMEK.

Langkah selanjutnya