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

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

Jika memiliki persyaratan kepatuhan atau peraturan khusus terkait kunci yang melindungi data Anda, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk Bigtable. Instance Bigtable Anda dilindungi oleh Google, bukan kunci enkripsi yang melindungi data Anda, yang Anda kontrol dan kelola di Cloud Key Management Service (Cloud KMS).

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

Fitur

  • Keamanan: CMEK memberikan tingkat keamanan yang sama dengan enkripsi default Google, tetapi memberikan kontrol administratif yang lebih besar.

  • Kontrol akses data: Administrator dapat merotasi, mengelola akses ke, dan menonaktifkan atau menghancurkan kunci yang digunakan untuk melindungi data dalam penyimpanan di Bigtable.

  • Kemampuan untuk diaudit: Semua tindakan pada kunci CMEK Anda dicatat ke dalam log dan dapat dilihat di Cloud Logging. Kunci Cloud EKM mendukung Key Access Justification, yang menambahkan kolom justifikasi ke semua permintaan kunci. Dengan partner pengelolaan kunci eksternal tertentu, Anda dapat menyetujui atau menolak permintaan ini secara otomatis, berdasarkan justifikasinya.

  • Performa yang sebanding: Instance Bigtable yang dilindungi CMEK menawarkan performa yang sebanding dengan instance Bigtable yang menggunakan enkripsi default Google.

  • Fleksibilitas: Anda dapat menggunakan kunci CMEK yang sama di beberapa project, instance, atau cluster, atau Anda dapat menggunakan kunci terpisah, bergantung pada kebutuhan bisnis Anda.

  • Perlindungan lintas region: Anda dapat mengaktifkan CMEK dalam instance yang memiliki cluster di region mana pun tempat Bigtable tersedia. Setiap cluster dilindungi oleh kunci CMEK di region cluster tersebut.

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 Bigtable meminta kunci Cloud KMS untuk melakukan operasi enkripsi atau dekripsi. Setiap permintaan enkripsi atau dekripsi dikirim dari setiap tabel di setiap cluster dalam instance. Karena Bigtable menggunakan enkripsi envelope, biaya per tabel ini umumnya rendah, mengingat kecilnya operasi kriptografi yang diharapkan. Jika Anda menyimpan banyak tabel dalam instance yang dilindungi CMEK, biaya Anda akan lebih tinggi.

Tidak ada biaya Bigtable tambahan untuk menggunakan instance yang mendukung CMEK.

Apa yang dilindungi dengan CMEK

Dalam instance yang dilindungi CMEK, Bigtable menggunakan kunci CMEK untuk melindungi data dalam penyimpanan. Data ini mencakup data di semua tabel dalam cluster. Data yang disimpan di penyimpanan HDD dan SSD dilindungi.

Beberapa data dilindungi oleh enkripsi default Google dalam penyimpanan, bukan oleh kunci CMEK:

  • Subset tombol baris yang menandai batas rentang dan digunakan untuk perutean
  • Data proses debug termasuk dump inti dan log operasional
  • Data dalam pengiriman atau dalam memori
  • Subset nilai stempel waktu yang digunakan untuk pembersihan sampah memori

Bigtable menggunakan enkripsi envelope untuk data dalam penyimpanan. Kunci CMEK digunakan sebagai kunci enkripsi kunci (KEK) untuk mengenkripsi kunci lain yang digunakan oleh Bigtable. Saat Anda merotasi kunci CMEK, Bigtable hanya perlu mengenkripsi ulang kunci perantara.

Mengaktifkan CMEK

Pada level yang tinggi, untuk menggunakan CMEK dengan Bigtable, Anda mengikuti langkah-langkah berikut:

  1. Buat dan konfigurasi kunci CMEK di setiap region tempat cluster instance Anda berada.
  2. Buat instance Bigtable baru, dengan memilih kunci CMEK untuk setiap cluster dalam instance tersebut. Kunci CMEK cluster harus berada di region yang sama dengan cluster tersebut.
  3. Jadwalkan rotasi kunci untuk setiap kunci.

Aplikasi yang menggunakan Bigtable tidak perlu menentukan kunci atau konfigurasi enkripsi saat membaca, menulis, atau menghapus data. Bigtable dapat mengakses kunci untuk Anda setelah Anda memberikan peran Cloud KMS Encrypter/Decrypter ke agen layanan Bigtable, yang merupakan jenis akun layanan yang dikelola Google.

Untuk petunjuk mendetail, lihat Menggunakan CMEK.

Anda dapat menggunakan hal berikut saat bekerja dengan CMEK untuk Bigtable.

Anda juga dapat mengakses Cloud Bigtable Admin API secara langsung, tetapi sebaiknya Anda hanya melakukannya jika tidak dapat menggunakan library klien Bigtable yang melakukan panggilan CMEK ke API.

Pengelolaan kunci

Operasi pengelolaan kunci dilakukan menggunakan Cloud KMS. Bigtable tidak dapat mendeteksi atau bertindak atas perubahan kunci apa pun hingga perubahan tersebut diterapkan oleh Cloud KMS. Beberapa operasi, seperti menonaktifkan atau menghancurkan kunci, dapat memerlukan waktu hingga 4 jam untuk diterapkan; perubahan pada izin kunci biasanya akan diterapkan lebih cepat.

Setelah Anda membuat setidaknya satu tabel dalam instance yang dilindungi CMEK, Bigtable akan memvalidasi kunci untuk setiap tabel di setiap cluster setiap 5 menit.

Jika Bigtable mendeteksi kunci yang dinonaktifkan, Bigtable akan menonaktifkan satu cluster pada satu waktu secara bertahap hingga semua cluster dalam instance dinonaktifkan. Setelah cluster pertama melaporkan, kunci dinonaktifkan atau dihancurkan dan hingga instance dinonaktifkan, beberapa permintaan data mungkin berhasil dan yang lainnya menampilkan error. Semua operasi data yang dikirim ke cluster yang telah dinonaktifkan akan menampilkan error FAILED_PRECONDITION atau NOT_FOUND.

Selain itu, karena replikasi Bigtable pada akhirnya akan konsisten, ada kemungkinan bahwa sebuah cluster telah mengonfirmasi permintaan tulis, tetapi belum mereplikasinya ke cluster lain dalam instance tersebut sebelum dinonaktifkan.

Proses Bigtable yang secara otomatis menonaktifkan semua cluster dalam instance setelah satu kunci dinonaktifkan dapat memerlukan waktu hingga beberapa jam. Untuk menghindari status ini, sebaiknya selalu nonaktifkan semua kunci instance secara bersamaan.

Jika cluster Bigtable dinonaktifkan, operasi admin berikut akan dibatasi untuk seluruh instance:

  • Membuat cluster
  • Menghapus cluster
  • Membuat tabel
  • Mengubah grup kolom
  • Memulihkan tabel

Anda masih dapat menghapus instance, menghapus tabel, dan menghapus cadangan.

Jika panggilan Bigtable ke Cloud KMS mendeteksi bahwa kunci yang sebelumnya dinonaktifkan telah diaktifkan kembali, Cloud KMS akan otomatis memulihkan akses ke cluster Bigtable.

Jika kunci Cloud KMS telah dihancurkan, setiap instance Bigtable yang memiliki cluster yang dienkripsi dengan kunci tersebut akan menjadi tidak dapat diakses secara permanen.

Cara penanganan status kunci yang tidak tersedia

Dalam skenario yang jarang terjadi, seperti selama periode ketika Cloud KMS tidak tersedia, Bigtable mungkin tidak dapat mengambil status kunci dari Cloud KMS.

Jika cluster Bigtable dilindungi oleh kunci yang diaktifkan pada saat Bigtable pertama kali tidak dapat berkomunikasi dengan Cloud KMS, Bigtable akan terus mendukung operasi instance lengkap dengan upaya terbaik menggunakan kunci cache yang berasal dari kunci Cloud KMS selama periode hingga 1 jam, untuk meminimalkan dampak insiden tersebut terhadap beban kerja Anda.

Setelah satu jam, jika Bigtable masih tidak dapat terhubung dengan Cloud KMS, Bigtable akan mulai mengambil instance secara offline sebagai tindakan perlindungan. Data dalam instance Bigtable tetap tidak dapat diakses hingga instance Anda dapat terhubung kembali dengan Cloud KMS dan Cloud KMS merespons bahwa kunci tersebut aktif.

Sebaliknya, jika sebuah cluster dalam instance Bigtable Anda dilindungi oleh kunci yang telah dinonaktifkan sebelum Bigtable pertama kali tidak dapat berkomunikasi dengan Cloud KMS, instance Anda tetap tidak dapat diakses hingga dapat terhubung kembali ke Cloud KMS dan kunci tersebut telah diaktifkan kembali.

Pertimbangan utama eksternal

Saat Anda menggunakan 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, Bigtable akan terus mendukung operasi cluster menggunakan versi kunci yang di-cache, hingga satu jam.

Setelah satu jam, jika Bigtable masih tidak dapat terhubung dengan Cloud KMS, Bigtable akan mulai menonaktifkan instance tersebut sebagai tindakan perlindungan. Data dalam instance Bigtable Anda tetap tidak dapat diakses hingga instance dapat terhubung kembali dengan Cloud KMS dan Cloud KMS merespons bahwa kunci eksternal aktif.

Jika berencana menggunakan kunci eksternal untuk instance Bigtable yang memiliki cluster di lebih dari satu region, pastikan kunci Anda didukung di region tersebut. Untuk mengetahui detailnya, lihat Region dan pengelola kunci eksternal. Selain itu, Anda tidak boleh menggunakan kombinasi kunci eksternal dan non-eksternal dalam instance yang sama.

Untuk mempelajari lebih lanjut cara menggunakan kunci eksternal dengan Cloud Key Management Service, lihat Cloud External Key Manager (Cloud EKM).

Kebijakan organisasi

Bigtable mendukung batasan kebijakan organisasi untuk membantu memastikan penggunaan CMEK di seluruh organisasi. Untuk mengetahui detail tentang cara menggunakan kebijakan organisasi, lihat kebijakan organisasi CMEK.

Membuat cadangan

Seperti data lainnya, cadangan dilindungi oleh kunci CMEK untuk cluster tempat cadangan disimpan. Tabel baru yang dipulihkan dari cadangan dilindungi oleh kunci CMEK atau kunci untuk cluster tempat tabel dipulihkan. Untuk mengetahui detail selengkapnya tentang pengaruh CMEK terhadap operasi pencadangan dan pemulihan, lihat Pencadangan. Untuk mempelajari cara membuat atau memulihkan dari cadangan, lihat Mengelola cadangan.

Logging

Anda dapat mengaudit permintaan yang dikirim Bigtable ke Cloud KMS atas nama Anda di Cloud Logging, jika Anda telah mengaktifkan log audit Cloud KMS untuk Cloud KMS API dalam project Anda. Anda dapat memperkirakan beberapa entri log setiap 5 menit atau lebih per tabel di setiap cluster.

Batasan

  • CMEK hanya dapat dikonfigurasi di tingkat cluster. Anda tidak dapat mengonfigurasi CMEK pada cadangan, tabel, atau profil aplikasi.

  • Kunci CMEK cluster harus berada di region yang sama dengan cluster. Saat membuat key ring Cloud KMS, pastikan Anda memilih region yang sesuai dengan konfigurasi zona Bigtable yang direncanakan.

  • Konfigurasi enkripsi resource Bigtable (instance, cluster, tabel, atau cadangan) tidak dapat diubah.

    • Instance non-CMEK tidak dapat dikonversi untuk menggunakan CMEK.
    • Instance CMEK tidak dapat dikonversi untuk menggunakan enkripsi default Google.
    • Cluster yang dibuat dengan kunci CMEK tidak dapat dikonfigurasi ulang untuk menggunakan kunci yang berbeda.
  • Resource Bigtable yang dilindungi CMEK (instance, cluster, tabel, atau cadangan) yang terkait dengan kunci yang tidak dapat diakses sebagai hasil dari tindakan yang dipicu pengguna (seperti menonaktifkan atau menghancurkan kunci, atau dengan mencabut peran Pengenkripsi/Pendekripsi) selama lebih dari 30 hari berturut-turut akan otomatis dihapus.

  • Jika Anda mengaktifkan kembali kunci CMEK yang dinonaktifkan untuk memulihkan akses ke instance Bigtable yang dilindungi oleh kunci tersebut, beberapa permintaan Data API mungkin akan kehabisan waktu saat data Anda kembali online.

  • Selama maksimal lima menit setelah tabel dibuat dalam instance yang dilindungi CMEK, versi kunci dan status kunci mungkin dilaporkan sebagai tidak diketahui. Namun, data apa pun yang ditulis ke tabel masih dilindungi dengan kunci CMEK selama waktu tersebut.

  • Menonaktifkan atau menghapus hanya satu versi, bukan semua versi kunci yang digunakan Bigtable dapat menyebabkan perilaku yang tidak dapat diprediksi. Selalu nonaktifkan atau hapus semua versi kunci CMEK.

Langkah selanjutnya