Secara default, data berikut disimpan dalam keadaan terenkripsi di bidang runtime hybrid:
- Data sistem pengelolaan kunci (KMS)
- Data peta nilai kunci (KVM)
- Data cache
Enkripsi data tidak memerlukan konfigurasi khusus dari Anda. Namun, jika karena alasan tertentu Anda ingin menggunakan kunci enkripsi Anda 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. Artinya, 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 | Khusus lingkungan |
Tentang kunci enkripsi default
Secara default, Apigee Hybrid menyediakan serangkaian kunci berenkode Base64 yang digunakan untuk mengenkripsi data KVM, KMS, dan cache. Penginstal Apigee Hybrid menyimpan kunci di bidang runtime sebagai Secret Kubernetes, dan menggunakannya untuk mengenkripsi data Anda dengan enkripsi standar AES-128. Kunci berada di bawah kendali Anda; bidang pengelolaan hybrid tidak pernah mengetahuinya kapan pun.
Mengubah kunci enkripsi default
Meskipun tidak diperlukan, Anda dapat mengubah kunci enkripsi default jika ingin. Untuk mengganti satu atau beberapa kunci default, ikuti langkah-langkah berikut:
- Salin stanza berikut ke dalam file penggantian Anda.
Konfigurasi ini memungkinkan Anda mengubah kunci enkripsi KMS dan KVM untuk tingkat organisasi serta kunci enkripsi KVM dan cache untuk tingkat 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 Anda ganti. 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 kunci 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 sebagai berikut:
- Jika Anda mengubah kunci KVM atau Cache, perbarui hanya lingkungan:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --env env_name
- Jika Anda mengubah kunci KMS, perbarui organisasi dan lingkungan:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --env env_name --org org_name
- Jika Anda mengubah kunci KVM atau Cache, perbarui hanya lingkungan:
Catatan tentang kompatibilitas mundur
Jika Anda menghapus kunci enkripsi dalam file penggantian saat pertama kali menginstal Apigee Hybrid, Anda akan menonaktifkan enkripsi secara efektif dan nilai akan disimpan tanpa dienkripsi. Jika di lain waktu Anda mengaktifkan enkripsi dengan memberikan kunci, data yang ada akan tetap tidak dienkripsi; namun, data yang ditambahkan di masa mendatang akan dienkripsi. Sistem akan terus berfungsi normal dengan data yang tidak dienkripsi dan data baru yang dienkripsi.
Selain itu, perhatikan bahwa Anda tidak dapat mengubah kunci enkripsi setelah data runtime dienkripsi.
Cara membuat kunci yang dienkode
Kunci berenkode Base64 yang diformat dengan benar diperlukan untuk enkripsi KVM, KMS, dan cache. Kunci yang digunakan untuk salah satu tujuan ini harus dienkode Base-64 dari string yang panjangnya 16, 24, atau 32 byte, seperti yang dijelaskan di bawah:
Contoh perintah berikut menghasilkan string 32 karakter yang sesuai dan dibuat secara acak, yang dienkode Base64:
head -c 32 /dev/random | openssl base64