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

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

Jika memiliki persyaratan kepatuhan atau peraturan khusus terkait kunci yang melindungi data, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk Firestore. Alih-alih mengelola kunci enkripsi yang melindungi data Anda, database Firestore Anda dilindungi dengan kunci yang Anda kontrol dan kelola di Cloud Key Management Service (Cloud KMS).

Halaman ini menjelaskan CMEK untuk Firestore. Untuk mengetahui informasi selengkapnya tentang CMEK secara umum, termasuk waktu dan alasan mengaktifkannya, lihat Dokumentasi Cloud KMS. Untuk mendapatkan petunjuk tentang cara melakukan tugas terkait CMEK dengan Firestore, 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 database Firestore.
  • 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 database Firestore 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 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. Biayanya umumnya rendah, mengingat perkiraan jumlah operasi kriptografi yang dihasilkan oleh Firestore. 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 untuk penggunaan database yang dilindungi CMEK dan harga Firestore akan 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 akan terus mendukung operasi database lengkap menggunakan versi kunci yang di-cache, hingga satu jam.

Setelah satu jam, jika Firestore masih tidak dapat terhubung dengan Cloud KMS, Firestore akan mulai menjadikan database tersebut 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