Secara default, data berikut disimpan secara terenkripsi di bidang runtime hybrid:
- Data sistem pengelolaan kunci (KMS)
- Data peta nilai kunci (KVM)
- Meng-cache data
Enkripsi data tidak memerlukan konfigurasi khusus dari Anda. Namun, jika karena alasan tertentu Anda ingin menggunakan kunci enkripsi sendiri (menggantikan kunci default), Anda dapat melakukannya, seperti yang dijelaskan dalam topik ini.
Cakupan kunci enkripsi
Kunci enkripsi untuk KMS, KVM, dan cache memiliki cakupan. Misalnya, kunci KMS memiliki cakupan organisasi. Hal ini berarti kunci tersebut digunakan untuk mengenkripsi data KMS untuk seluruh organisasi. Tabel berikut mencantumkan cakupan untuk setiap jenis kunci:
Kunci enkripsi | Cakupan |
---|---|
KMS | Khusus organisasi |
KVM |
Organisasi atau lingkungan
Jika kebijakan KVM menentukan cakupan |
Cache | Hanya lingkungan |
Tentang kunci enkripsi default
Secara default, Apigee Hybrid menyediakan sekumpulan kunci berenkode Base64 yang digunakan untuk mengenkripsi data KVM, KMS, dan cache. Installer hybrid Apigee menyimpan kunci di bidang runtime sebagai Kubernetes Secrets, dan menggunakannya untuk mengenkripsi data Anda dengan enkripsi standar AES-128. Kunci berada di bawah kendali Anda; bidang pengelolaan hybrid tidak pernah mengetahuinya sama sekali.
Mengubah kunci enkripsi default
Meskipun tidak diwajibkan, Anda dapat mengubah kunci enkripsi default jika menginginkannya. Untuk mengganti satu atau beberapa tombol default, ikuti langkah-langkah berikut:
- Salin stanza berikut ke file penggantian Anda.
Dengan konfigurasi ini, Anda dapat mengubah kunci enkripsi KMS dan KVM untuk level organisasi serta kunci enkripsi KVM dan cache untuk level lingkungan:
defaults: org: kmsEncryptionKey: base64-encoded-key kvmEncryptionKey: base64-encoded-key env: kvmEncryptionKey: base64-encoded-key cacheEncryptionKey: base64-encoded-key
- Buat kunci baru untuk setiap kunci yang ingin diganti. Setiap kunci harus berupa string berenkode Base64 yang panjangnya tepat 16, 24, atau 32 byte. Lihat juga Cara membuat kunci yang dienkode.
- Ganti kunci default dengan yang baru. Dalam contoh ini, semua kunci default diganti dengan kunci:
defaults: org: kmsEncryptionKey: "JVpTb1FwI0otUHo2RUdRN3pnVyQqVGlMSEFAJXYmb1c=" kvmEncryptionKey: "T3VkRGM1U3cpOFgtNk9fMnNZU2NaSVA3I1BtZWxkaUU=" env: kvmEncryptionKey: "Q3h6M3R6OWdBeipxTURfKjQwQVdtTng2dU5mODFHcyE=" cacheEncryptionKey: "b2NTVXdKKjBzN0NORF9XSm9tWFlYKGJ6NUhpNystJVI="
- Terapkan file penggantian ke cluster Anda.
Catatan tentang kompatibilitas mundur
Jika Anda menghapus kunci enkripsi di file penggantian saat pertama kali menginstal Apigee Hybrid, Anda akan secara efektif menonaktifkan enkripsi dan nilai akan disimpan tanpa dienkripsi. Jika Anda mengaktifkan enkripsi dengan menyediakan kunci di kemudian hari, data yang keluar tetap tidak dienkripsi. Namun, data apa pun yang ditambahkan di masa mendatang akan dienkripsi. Sistem akan terus berfungsi secara normal dengan data yang tidak dienkripsi dan data terenkripsi baru.
Selain itu, perhatikan bahwa Anda tidak dapat mengubah kunci enkripsi setelah data runtime dienkripsi.
Cara membuat kunci yang dienkode
Kunci berenkode Base-64 yang diformat dengan benar diperlukan untuk enkripsi KVM, KMS, dan cache. Kunci yang digunakan untuk salah satu tujuan ini harus dienkode menggunakan Base-64 dari string yang panjangnya 16, 24, atau 32 byte, seperti yang dijelaskan pada langkah-langkah berikut:
Contoh perintah berikut menghasilkan string berenkode Base64 yang cocok dan dibuat secara acak dengan 32 karakter dan tidak menyertakan karakter yang tidak dapat dicetak:
LC_ALL=C tr -dc A-Za-z0-9_\!\@\#\$\%\^\&\*\(\)\\-+= < /dev/urandom | head -c 32 | openssl base64 PSFvX0BPc1Z2NVklcXdxcF8xR0N4MV4temFveStITU4=
atau
LC_ALL=C tr -dc "[:print:]" < /dev/urandom | head -c 32 | openssl base64