Halaman ini menjelaskan praktik terbaik CMEK dengan Apigee.
Pencegahan risiko
Saat ini, Apigee mendukung serangkaian fungsi kunci enkripsi yang dikelola pelanggan terbatas. Untuk mencegah penghapusan kunci CMEK atau versi kunci secara tidak sengaja, sebaiknya Anda menerapkan hal berikut:
-
Perketat kontrol akses: Batasi
roles/cloudkms.adminperan atau izin penghancuran/pembaruan kunci Do hanya untuk admin tepercaya atau anggota tim senior. - Audit izin secara rutin: Pastikan izin tidak diperluas secara tidak sengaja seiring waktu.
- Penghapusan kunci otomatis: Jangan menyiapkan otomatisasi untuk menghapus/menonaktifkan kunci secara otomatis.
Menyiapkan durasi dan rotasi penghancuran kunci
- Pertimbangkan untuk memperpanjang durasi penghancuran default: Periode penghancuran terjadwal default adalah 30 hari. Menetapkan durasi pemusnahan kustom selama pembuatan kunci atau menerapkan durasi yang lebih lama melalui kebijakan organisasi dapat memberikan lebih banyak waktu untuk pemulihan jika terjadi penghapusan yang tidak disengaja. Jika Anda yakin bahwa waktu penghancuran yang lebih lama menimbulkan lebih banyak risiko, perhatikan bahwa durasi penghancuran yang lebih lama juga mencegah Anda menghapus kunci secara tidak sengaja. Anda dapat menyeimbangkan manfaat dan risiko untuk melihat durasi yang paling cocok untuk Anda.
- Mewajibkan kunci dinonaktifkan sebelum dihancurkan: Sebaiknya nonaktifkan versi kunci sebelum menjadwalkannya untuk dihancurkan. Hal ini membantu memvalidasi bahwa kunci tidak sedang digunakan secara aktif dan merupakan langkah penting dalam menentukan apakah aman untuk menghancurkan versi kunci.
- Terapkan rotasi kunci: Merotasi kunci secara rutin akan membatasi dampak dari potensi pembobolan. Jika kunci dibobol, rotasi rutin akan membatasi jumlah pesan sebenarnya yang rentan terhadap pembobolan.
Rotasi kunci di Apigee
Tujuan utama rotasi kunci adalah untuk mengurangi jumlah data yang dienkripsi dengan satu kunci, bukan untuk mengganti sepenuhnya versi kunci lama. Untuk kunci runtime dan kunci bidang kontrol, versi kunci asli tetap terikat ke resource sejak dibuat.
Contoh ilustrasi
- Instance Apigee akan selalu menggunakan versi kunci CMEK utama yang aktif pada saat pembuatannya, bahkan setelah rotasi kunci.
- Paket proxy akan terus menggunakan versi kunci CMEK utama yang aktif saat pertama kali dibuat. Namun, jika bundle proxy ini diubah setelah rotasi kunci, data baru di dalamnya akan dienkripsi dengan versi kunci utama yang baru.
Batasan saat ini: tidak ada enkripsi ulang otomatis
Perlu diperhatikan bahwa saat ini Apigee tidak mendukung enkripsi ulang otomatis data yang ada saat kunci dirotasi. Hanya sejumlah kecil data baru yang akan dienkripsi dengan versi kunci utama baru. Sebagian besar data Anda, seperti data analisis, data disk runtime, dan revisi proxy yang lebih lama, akan tetap dienkripsi dengan versi kunci lama.
Penonaktifan kunci
Menonaktifkan atau menghancurkan kunci akan mengganggu fungsi Apigee. Jika Anda menonaktifkan kunci terlebih dahulu, Anda dapat mengaktifkannya kembali jika itu adalah alarm palsu.
Jika Anda menduga kunci (atau versi kunci) dibobol:
-
Skenario berisiko tinggi: Jika Anda yakin bahwa data Apigee Anda bersifat sensitif dan penyerang memiliki peluang tinggi untuk mengeksploitasinya, segera nonaktifkan kunci dan batalkan akses ke data tersebut. Anda harus menonaktifkan kunci terlebih dahulu sebelum membuat ulang instance
apigeedan org.apigee. -
Skenario berisiko rendah: Jika meminimalkan periode nonaktif lebih penting daripada
potensi risiko, Anda harus membuat ulang instance
apigeedan organisasiapigeeterlebih dahulu sebelum menonaktifkan/menghapus CMEK. Lihat di bawah tentang cara mencegah downtime secara proaktif dengan berinvestasi dalam pencadangan/pemulihan. - Hubungi dukungan: Sebaiknya Anda menghubungi Customer Care Google Cloud jika Anda yakin bahwa kunci Anda telah disusupi dan Anda perlu menonaktifkannya.
Periksa dampak penonaktifan/pencabutan/penghancuran kunci di bawah.
Setelah menonaktifkan kunci, Anda harus membuat ulang apigee
org/instances. Lihat praktik terbaik.
- Kompromi CMEK runtime: Buat instance baru dengan CMEK baru, lalu hapus instance asli serta CMEK runtime lama setelah traffic dimigrasikan.
-
Semua CMEK disusupi: Buat organisasi
apigeebaru dengan kunci CMEK baru, replikasi konfigurasi Anda, alihkan traffic, lalu nonaktifkan organisasi lama dan nonaktifkan/hapus CMEK asli Anda. -
Hubungi Customer Care Google Cloud: Jika API untuk menghapus/membuat ulang instance atau
apigeeorg memerlukan waktu yang sangat lama, hubungi Customer Care Google Cloud.
Dampak penonaktifan/pencabutan/penghancuran kunci
Menonaktifkan, mencabut, atau menghancurkan kunci akan menyebabkan Apigee tidak berfungsi dengan benar. Dampaknya adalah sebagai berikut:
- Menonaktifkan/mencabut/menghapus seluruh kunci: API yang menghadap pelanggan Apigee akan langsung berhenti berfungsi. Sistem internal akan gagal dalam beberapa menit, sehingga memengaruhi deployment proxy, traffic runtime, analisis, dan keamanan API. Instance akan menjadi tidak dapat dimulai sama sekali dalam beberapa minggu karena masalah pemasangan ulang disk.
- Menonaktifkan/membatalkan/menghancurkan versi kunci (termasuk versi kunci utama atau versi kunci sebelumnya): API yang menghadap pelanggan Apigee yang menggunakan versi kunci tersebut akan segera berhenti berfungsi. Beberapa sistem internal dan traffic runtime akan terpengaruh. Instance mungkin tidak dapat dimulai jika versi kunci digunakan untuk enkripsi disk.
Mengaktifkan kembali kunci
Jika penyusupan adalah alarm palsu atau penonaktifan kunci tidak dimaksudkan, Anda dapat mengaktifkan kembali kunci jika kunci sedang dinonaktifkan. Mengaktifkan kembali kunci akan memulihkan fungsi ke API yang menghadap pelanggan. Sistem internal akan pulih dalam beberapa menit. Namun, mungkin ada kehilangan data untuk keamanan dan analisis API selama periode kunci tidak tersedia.
- Jika periode penonaktifan kunci singkat: Sistem akan dipulihkan kecuali untuk beberapa kehilangan data pada keamanan dan analisis API.
- Jika periode penonaktifan kunci panjang: Sistem akan dipulihkan untuk melayani traffic, tetapi dapat menyebabkan inkonsistensi data di mana satu region menampilkan satu nilai dan region yang sebelumnya tidak berfungsi menampilkan nilai lain. Hubungi Layanan Pelanggan Google Cloud untuk memperbaiki cluster Apigee Anda.
Menghapus kunci
Pertimbangkan hal berikut sebelum Anda menghapus kunci:
- Untuk tujuan pembersihan: Jangan hapus kunci lama hingga Apigee merilis pelacakan kunci untuk memahami penggunaan kunci sebelum menghapus kunci.
- Jika penghapusan diperlukan: Nonaktifkan kunci terlebih dahulu, lalu jadwalkan penghapusannya. Anda dapat menggunakan kebijakan org untuk menerapkan nonaktifkan kunci terlebih dahulu dan durasi minimum untuk pemusnahan.
Melindungi organisasi Apigee Anda dengan pencadangan CI/CD
Jika terjadi penyusupan kunci enkripsi yang dikelola pelanggan (CMEK), Anda harus segera mengambil tindakan untuk menonaktifkan, mencabut, atau menghancurkan kunci yang disusupi. Namun, tindakan keamanan yang diperlukan ini dapat membuat sistem Apigee Anda tidak berfungsi, sehingga menyebabkan potensi periode nonaktif dan gangguan layanan.
Untuk memastikan waktu henti minimum atau tidak ada waktu henti untuk layanan Apigee Anda, Anda harus menerapkan pendekatan proaktif: pencadangan berkelanjutan konfigurasi organisasi Anda (pencadangan integrasi berkelanjutan/deployment berkelanjutan (CI/CD)). Lihat alat yang tersedia dan praktik terbaik untuk memulihkan organisasi Apigee.
Keunggulan CI/CD dan IaC
Dengan berinvestasi pada alat seperti Terraform, solusi Infrastructure as Code (IaC), Anda dapat membuat organisasi Apigee baru dengan lancar dari konfigurasi yang dicadangkan. Proses yang disederhanakan ini memungkinkan Anda membuat ulang organisasi Apigee dengan cepat dan efisien, sehingga meminimalkan waktu henti dan memastikan kelangsungan bisnis.
Alat yang tersedia untuk digunakan
Anda dapat menggabungkan semua alat berikut untuk mencadangkan apigee org Anda secara berkala dan menguji proses pemulihan.
- Jika Anda hanya ingin membuat ulang instance Apigee, lihat Membuat ulang instance Apigee dengan zero downtime.
-
Jika ingin menggunakan Terraform, Anda dapat mempertimbangkan untuk meminjam ide dari
apigee/terraform modulesopen source. -
Jika ingin membuat ulang organisasi Apigee, Anda dapat menggunakan
apigeecli,apigeecli organizations export, danapigeecli organizations importsebagai dasar untuk pencadangan. Lihat Mengekspor/membuat ulang organisasi. - Jika ingin mencadangkan dan memulihkan lebih banyak resource di luar daftar di atas, Anda harus berinteraksi langsung dengan API atau menggunakan perintah apigeecli lain.
Praktik terbaik
- Pencadangan rutin: Jadwalkan pencadangan rutin untuk memastikan Anda memiliki konfigurasi terbaru. Lihat Mengekspor/membuat ulang organisasi.
- Penyimpanan yang aman: Simpan cadangan Anda di lokasi yang aman, seperti repositori terenkripsi.
- Uji pemulihan: Uji proses pemulihan Anda secara berkala untuk memastikan Anda dapat memulihkan organisasi Apigee secara efektif. Uji proses pemulihan Anda secara berkala untuk memastikan Anda dapat mengalihkan traffic ke organisasi Apigee yang baru dibuat dengan cepat.
Mengekspor/membuat ulang organisasi
Alat apigeecli
adalah alat command line yang memungkinkan Anda mengelola resource Apigee. Dengan alat ini, Anda dapat melakukan tindakan yang sama seperti Apigee
API dalam antarmuka command line yang mudah digunakan, mirip dengan perintah gcloud.
Jika ingin membuat ulang organisasi Apigee atau memigrasikan
ke organisasi Apigee lain, Anda dapat menggunakan apigeecli
organizations export dan apigeecli organizations import.
Cadangan ini juga dapat digunakan sebagai dasar untuk cadangan berkelanjutan. Cloud Build dapat mengekspor dan mengimpor resource seperti:
- Dokumen portal API
- Kategori portal API
- Proxy API
- Konfigurasi keamanan API dan profil keamanan
- Alur bersama
- Produk API
- Developer
- Aplikasi developer termasuk kredensial
- AppGroups dan Aplikasi yang menyertakan kredensial
- Detail lingkungan
- Grup lingkungan
- Konfigurasi Pengumpul Data
- Keystore tingkat lingkungan dan sertifikat alias
- Server target tingkat lingkungan
- Referensi tingkat lingkungan
- Peta nilai kunci (KVM) dan entri di tingkat organisasi, lingkungan, dan proxy
- Keystore dan sertifikat alias, kecuali kunci pribadi
Alat ini dapat mengelola semua resource Apigee lainnya. Daftar
perintah lengkap dapat dilihat menggunakan apigeecli tree.
Alat ini memiliki beberapa batasan:
- Keystore memerlukan penyimpanan kunci pribadi saat pembuatan dan menyertakannya dalam file cadangan lokal
- Token OAuth tidak akan dapat dicadangkan dan dipulihkan, yang berarti instance Apigee yang baru dibuat akan memerlukan login ulang oleh pelanggan Anda.
- Kontrol akses seperti kebijakan org dan aturan IAM tidak dimigrasikan. Jika ingin memigrasikan aturan tersebut, Anda harus menggunakan Google Cloud API.
-
Ekspor laporan Analytics tidak didukung, dan metrik analisis tidak disalin ke organisasi
apigeebaru. -
Perintah
importini tidak otomatis membuat instance, envGroup, EnvAttachments, lampiran endpoint, atau men-deploy proxy untuk Anda. Anda dapat mengelola resource ini, tetapi tidak secara langsung melalui perintahimport. -
Perintah
importini tidak otomatis membuat situs portal. Pembuatan situs portal harus dilakukan secara manual melalui UI. - Sebaiknya Anda berinvestasi dalam pemulihan dari bencana untuk penghapusan kunci dan menguji proses pemulihan secara berkala untuk memastikan Anda dapat mengalihkan traffic ke organisasi Apigee yang baru dibuat dengan cepat.
Prasyarat
Sebelum memulai, pastikan prasyarat berikut terpenuhi:
-
Apigee CLI terinstal: Instal
apigeeclidengan mengikuti langkah-langkah dalam panduan penginstalan. -
Autentikasi: Anda harus memiliki izin dan kredensial autentikasi yang diperlukan untuk berinteraksi dengan organisasi Apigee. Pastikan Anda telah menyiapkan:
-
Google Cloud SDK (
gcloud): Sudah diinstal dan diautentikasi. -
Token akses: Dapatkan token akses menggunakan
gcloud auth print-access-token.
-
Google Cloud SDK (
- Akses jaringan: Pastikan jaringan Anda mengizinkan akses ke API Apigee.
-
Buat org: Buat org
apigeebaru yang ingin Anda migrasikan. Anda dapat membuat berbagai jenis organisasiapigee; namun, pastikan Anda menggunakan jenis organisasi yang sama (bayar sesuai penggunaan atau langganan) dan jenis routing jaringan yang sama dengan yang Anda gunakan pada organisasi asli.
Mengekspor organisasi Apigee
Berikut menunjukkan contoh perintah. Lihat apigeecli organizations export untuk mengetahui detail tentang berbagai flag.
# Sample command mkdir apigee_backup cd apigee_backup # gcloud auth application-default login export ORG_FROM=REPLACE apigeecli organizations export -o $ORG_FROM --default-token
Mengimpor organisasi Apigee
Berikut menunjukkan contoh perintah. Lihat apigeecli organizations import untuk mengetahui detail tentang berbagai flag
# Sample command # gcloud auth application-default login export ORG_TO=REPLACE apigeecli organizations import -o $ORG_TO -f . --default-token
Langkah-langkah setelah impor
Membuat instance dan menyiapkan jaringan
Lakukan hal berikut untuk membuat instance dan menyiapkan jaringan:
- Ikuti langkah-langkah dalam Membuat instance baru untuk membuat instance baru.
- Konfigurasi traffic Northbound: Northbound mengacu pada traffic API dari klien eksternal atau internal ke Apigee melalui load balancer. Anda harus memastikan Anda mengonfigurasi PSC atau VPC dengan benar agar instance Anda dapat dijangkau. Anda harus menyiapkan nama host grup lingkungan di organisasi baru.
- Konfigurasi traffic Southbound: Southbound mengacu pada traffic API dari Apigee ke layanan target proxy API Anda. Jadi, Anda harus mencadangkan dan mengaktifkan alamat IP baru untuk NAT Anda, serta mengonfigurasi ulang firewall/daftar yang diizinkan di endpoint target Anda.
Lihat Opsi jaringan Apigee untuk mengetahui informasi selengkapnya.
Mencadangkan/memulihkan konfigurasi lainnya
Gunakan salah satu opsi berikut untuk mencadangkan/memulihkan konfigurasi lainnya:
-
Untuk aturan IAM: Anda dapat menggunakan
gcloud projects get-iam-policydangcloud projects set-iam-policyuntuk menyalin kebijakan IAM Anda sendiri, menyesuaikan project dan nama orgapigee, lalu menerapkan ke project Google Cloud dan orgapigeebaru. - Untuk konfigurasi Apigee lainnya: Anda dapat menggunakan Apigee Management API.
Men-deploy proxy Anda
Gunakan salah satu opsi berikut untuk men-deploy proxy Anda:
- Gunakan
apigeecli - Gunakan skrip komunitas Apigee sebagai referensi
- Gunakan Apigee Management API
Mengalihkan traffic
Lakukan tindakan berikut untuk mengalihkan traffic:
- Siapkan pengujian integrasi otomatis untuk instance baru.
- Konfigurasi load balancer untuk mengalihkan traffic ke instance baru secara bertahap sambil memantau performa.