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

Secara default, Bigtable mengenkripsi konten pelanggan dalam penyimpanan. Bigtable menangani enkripsi untuk Anda tanpa perlu 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 batasan 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, Anda yang mengontrol dan mengelola kunci ini di Cloud KMS.

Setelah Anda menyiapkan resource dengan CMEK, pengalaman mengakses resource Bigtable Anda akan serupa dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).

Fitur

  • Keamanan: CMEK memberikan tingkat keamanan yang sama seperti 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 audit: 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 otomatis menyetujui atau menolak permintaan ini, berdasarkan justifikasi.

  • Performa yang sebanding: Instance yang dilindungi CMEK Bigtable 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 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 sedikitnya jumlah 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.

Yang dilindungi oleh CMEK

Di 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 dengan kunci CMEK:

  • Subkumpulan kunci baris yang menandai batas rentang dan digunakan untuk perutean
  • Data proses debug termasuk dump inti dan log operasional
  • Data dalam pengiriman atau dalam memori
  • Subkumpulan nilai stempel waktu yang digunakan untuk pengumpulan 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 merotasi kunci CMEK, Bigtable hanya perlu mengenkripsi ulang kunci perantara.

Mengaktifkan CMEK

Secara umum, untuk menggunakan CMEK dengan Bigtable, Anda harus mengikuti langkah-langkah berikut:

  1. Buat dan konfigurasi kunci CMEK di setiap region tempat cluster instance Anda akan berada.
  2. Buat instance Bigtable baru, dengan memilih kunci CMEK untuk setiap cluster dalam instance. Kunci CMEK cluster harus berada di region yang sama dengan cluster.
  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 atas nama Anda setelah Anda memberikan peran Pengenkripsi/Pendekripsi Cloud KMS kepada agen layanan Bigtable.

Untuk petunjuk mendetail, lihat Menggunakan CMEK.

Anda dapat menggunakan hal berikut saat menggunakan CMEK untuk Bigtable.

Anda juga dapat mengakses Cloud Bigtable Admin API secara langsung, tetapi sebaiknya Anda melakukannya hanya jika Anda 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 perubahan tersebut disebarkan 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 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 dalam satu waktu secara bertahap 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, ada kemungkinan bahwa cluster telah mengonfirmasi permintaan penulisan, 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 memakan waktu hingga beberapa jam. Untuk menghindari status ini, sebaiknya nonaktifkan semua kunci instance secara bersamaan.

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

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

Anda tetap 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, semua 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 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 hingga satu jam, untuk meminimalkan dampak insiden tersebut pada workload Anda.

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

Sebaliknya, jika cluster di instance Bigtable Anda dilindungi oleh kunci yang dinonaktifkan sebelum Bigtable tidak dapat berkomunikasi dengan Cloud KMS, instance Anda akan 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 berdasarkan upaya terbaik hingga satu jam.

Setelah satu jam, jika Bigtable masih tidak dapat terhubung dengan Cloud KMS, Bigtable akan mulai menjadikan instance offline 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 eksternal aktif.

Jika Anda 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 Pengelola kunci eksternal dan region. 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 cara menggunakan kebijakan organisasi, lihat Kebijakan organisasi CMEK.

Cadangan

Seperti data lainnya, cadangan dilindungi oleh kunci CMEK untuk cluster tempat cadangan disimpan. Tabel baru yang dipulihkan dari cadangan dilindungi oleh 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 mengharapkan 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 Anda 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 cadangan) yang terkait dengan kunci yang telah dibuat 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 mengalami waktu tunggu habis saat data Anda diaktifkan kembali.

  • Hingga lima menit setelah tabel dibuat dalam instance yang dilindungi CMEK, versi kunci dan status kunci mungkin dilaporkan sebagai tidak diketahui. Namun, semua data 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 berikutnya