Kunci enkripsi yang dikelola pelanggan (Customer-Managed Encryption Key/CMEK)
Secara default, Bigtable mengenkripsi konten pelanggan dalam penyimpanan. Bigtable 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 Bigtable. 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 Bigtable Anda mirip dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi Anda, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).
Halaman ini menjelaskan CMEK untuk Bigtable. Untuk mengetahui petunjuk tentang cara melakukan tugas terkait CMEK dengan Bigtable, lihat Menggunakan CMEK.
Fitur
Keamanan: CMEK memberikan tingkat keamanan yang sama dengan enkripsi default Google, tetapi memberikan lebih banyak kontrol administratif.
Kontrol akses data: Administrator dapat merotasi, mengelola akses ke, dan menonaktifkan atau menghancurkan kunci yang digunakan untuk melindungi data dalam penyimpanan di Bigtable.
Auditabilitas: 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 enkripsi eksternal tertentu, Anda dapat otomatis menyetujui atau menolak permintaan ini, berdasarkan justifikasi.
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 di 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 kriptografis apa pun yang dilakukan menggunakan kunci tersebut. Lihat harga Cloud KMS untuk mengetahui detailnya.
Anda ditagih untuk 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 amplop, biaya per tabel ini umumnya rendah, mengingat jumlah operasi kriptografi yang diharapkan sedikit. Jika Anda menyimpan banyak tabel di instance yang dilindungi CMEK, biaya Anda akan lebih tinggi.
Tidak ada biaya Bigtable tambahan untuk menggunakan instance yang mengaktifkan CMEK.
Yang dilindungi dengan CMEK
Dalam instance yang dilindungi CMEK, Bigtable menggunakan kunci CMEK Anda untuk melindungi data dalam penyimpanan. Hal 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:
- Subkumpulan kunci baris yang menandai batas rentang dan digunakan untuk pemilihan rute
- Men-debug data termasuk core dump dan log operasional
- Data dalam pengiriman atau dalam memori
- Subkumpulan nilai stempel waktu yang digunakan untuk pembersihan sampah
Bigtable menggunakan enkripsi amplop untuk data dalam penyimpanan. Kunci CMEK digunakan sebagai kunci enkripsi kunci (KEK) untuk mengenkripsi kunci lain yang digunakan oleh Bigtable. Saat Anda memutar kunci CMEK, Bigtable hanya perlu mengenkripsi ulang kunci perantara.
Mengaktifkan CMEK
Secara umum, untuk menggunakan CMEK dengan Bigtable, Anda harus mengikuti langkah-langkah berikut:
- Buat dan konfigurasikan kunci CMEK di setiap region tempat cluster instance Anda akan berada.
- Buat instance Bigtable baru, dengan memilih kunci CMEK untuk setiap cluster dalam instance. Kunci CMEK cluster harus berada di region yang sama dengan cluster.
- 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 atas nama Anda setelah Anda memberikan peran Pengenkripsi/Pendekripsi Cloud KMS ke agen layanan Bigtable.
Untuk petunjuk mendetail, lihat Menggunakan CMEK.
Anda dapat menggunakan hal berikut saat menggunakan CMEK untuk Bigtable.
- Konsol Google Cloud
- Google Cloud CLI
- Semua library klien yang tersedia secara umum (GA) yang memanggil Cloud Bigtable API.
Anda juga dapat mengakses Cloud Bigtable Admin API secara langsung, tetapi sebaiknya Anda melakukannya hanya 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 menindaklanjuti perubahan kunci apa pun hingga di-propagasi oleh Cloud KMS. Beberapa operasi, seperti menonaktifkan atau menghancurkan kunci, dapat memerlukan waktu hingga 4 jam untuk diterapkan; perubahan pada izin kunci biasanya diterapkan lebih cepat.
Setelah Anda membuat minimal satu tabel di instance yang dilindungi CMEK, Bigtable akan memvalidasi kunci untuk setiap tabel di setiap cluster setiap 5 menit.
Jika mendeteksi kunci yang dinonaktifkan, Bigtable akan menonaktifkan satu cluster pada
satu waktu secara berurutan hingga semua cluster dalam instance dinonaktifkan.
Setelah cluster pertama melaporkan bahwa kunci dinonaktifkan atau dihancurkan dan hingga instance dinonaktifkan, beberapa permintaan data mungkin berhasil dan yang lainnya menampilkan error. Setiap operasi data yang dikirim ke cluster yang telah dinonaktifkan akan menampilkan error FAILED_PRECONDITION
atau NOT_FOUND
.
Selain itu, karena replikasi Bigtable pada akhirnya konsisten, cluster mungkin telah mengonfirmasi permintaan tulis, tetapi belum mereplikasinya ke cluster lain dalam instance sebelum dinonaktifkan.
Proses Bigtable untuk menonaktifkan semua cluster secara otomatis dalam instance setelah satu kunci dinonaktifkan dapat memerlukan waktu hingga beberapa jam. Untuk menghindari status ini, sebaiknya Anda selalu menonaktifkan semua kunci instance secara bersamaan.
Saat 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 memulihkan akses ke cluster Bigtable secara otomatis.
Jika kunci Cloud KMS telah dihancurkan, setiap instance Bigtable yang memiliki cluster yang dienkripsi dengan kunci tersebut tidak akan dapat diakses secara permanen.
Cara penanganan status kunci yang tidak tersedia
Dalam skenario yang jarang terjadi, seperti selama periode saat 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 penuh berdasarkan upaya terbaik menggunakan kunci yang di-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 menonaktifkan instance sebagai tindakan perlindungan. Data di instance Bigtable Anda tetap tidak dapat diakses hingga instance dapat terhubung kembali dengan Cloud KMS dan Cloud KMS merespons bahwa kunci tersebut aktif.
Sebaliknya, jika cluster di instance Bigtable Anda dilindungi oleh kunci yang 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 Anda telah mengaktifkan kembali kunci Anda.
Pertimbangan kunci 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 menjadikan instance offline sebagai tindakan pengamanan. Data di instance Bigtable Anda tetap tidak dapat diakses hingga instance dapat terhubung kembali dengan Cloud KMS dan Cloud KMS merespons bahwa kunci eksternal aktif.
Jika Anda berencana menggunakan kunci enkripsi 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 enkripsi 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.
Cadangan
Seperti data lainnya, pencadangan dilindungi oleh kunci CMEK untuk cluster tempat pencadangan disimpan. Tabel baru yang dipulihkan dari cadangan dilindungi oleh satu atau beberapa kunci CMEK untuk cluster tempat tabel tersebut 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 di project Anda. Anda dapat melihat 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 untuk memilih region yang sesuai dengan konfigurasi zona Bigtable yang Anda rencanakan.
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 pencadangan) yang terikat dengan kunci yang tidak dapat diakses sebagai akibat dari tindakan yang dipicu pengguna (seperti menonaktifkan atau menghancurkan kunci, atau dengan mencabut peran Encrypter/Decrypter) selama lebih dari 30 hari berturut-turut akan dihapus secara otomatis.
Jika Anda mengaktifkan kembali kunci CMEK yang dinonaktifkan untuk memulihkan akses ke instance Bigtable yang dilindungi oleh kunci tersebut, beberapa permintaan Data API mungkin habis waktu tunggunya saat data Anda kembali online.
Hingga lima menit setelah tabel dibuat di 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.