Halaman ini menjelaskan penggunaan CMEK dengan Apigee. Untuk mengetahui praktik terbaik, lihat Praktik terbaik untuk CMEK Apigee.
Ringkasan
Secara default, Google Cloud otomatis mengenkripsi data saat dalam penyimpanan menggunakan kunci enkripsi yang dimiliki dan dikelola oleh Google. Jika Anda memiliki persyaratan kepatuhan atau peraturan khusus terkait kunci yang melindungi data, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK).
Anda dapat membaca selengkapnya tentang penggunaan CMEK untuk Apigee di Menggunakan CMEK dengan Apigee. Untuk mengetahui informasi selengkapnya tentang CMEK secara umum, termasuk waktu dan alasan mengaktifkannya, lihat Dokumentasi Cloud Key Management Service.
Menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) tidak selalu memberikan keamanan yang lebih baik daripada mekanisme enkripsi default Google; namun, hal ini memberi Anda kontrol atas lebih banyak aspek siklus proses dan pengelolaan kunci Anda untuk memenuhi persyaratan keamanan dan kepatuhan.
Jika Anda memerlukan kontrol lebih besar atas operasi kunci daripada yang diizinkan oleh yang dimiliki dan dikelola Google yang didukung Google Cloud, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan. Kunci ini dibuat dan dikelola menggunakan Cloud Key Management Service (Cloud KMS), dan Anda menyimpan kunci tersebut sebagai kunci software, di dalam cluster HSM, atau secara eksternal.
Fitur pengelolaan kunci disediakan oleh layanan Cloud KMS.
Kasus penggunaan CMEK
Bagian ini menjelaskan kasus penggunaan umum untuk menggunakan CMEK dengan Apigee.
Rotasi kunci
Merotasi kunci secara otomatis atau manual. Perhatikan bahwa saat kunci dirotasi, data yang sebelumnya disimpan di Apigee tidak otomatis dienkripsi ulang dengan versi kunci baru, tetapi akan terus dapat diakses selama versi kunci sebelumnya yang digunakan untuk mengenkripsi data tidak dinonaktifkan atau dihancurkan.
Tujuan utama rotasi kunci adalah untuk membatasi eksposur data ke satu kunci, bukan untuk mengganti versi kunci lama sepenuhnya.
Apigee saat ini tidak mendukung enkripsi ulang setelah rotasi kunci.
Khusus untuk Apigee, saat Anda merotasi kunci, hanya sejumlah terbatas data baru (misalnya revisi proxy baru) yang akan dienkripsi dengan versi kunci utama baru. Sebagian besar data, seperti data analisis, disk runtime, dan revisi proxy lama masih menggunakan versi kunci lama.
Jika Anda ingin sepenuhnya menghapus versi kunci sebelumnya, Anda harus membuat ulang organisasi apigee. Untuk kunci enkripsi runtime, jika Anda ingin sepenuhnya menghapus versi kunci sebelumnya, Anda harus membuat ulang instance runtime. Lihat
Praktik terbaik untuk CMEK Apigee untuk mengetahui detail selengkapnya.
Lihat juga: Merotasi kunci
Penghapusan dan penonaktifan kunci
Jika versi kunci dinonaktifkan, data Apigee yang dienkripsi dengan versi kunci tersebut tidak akan dapat diakses. Untuk memulihkan akses ke data, kunci dapat diaktifkan kembali.
Jika Anda menghapus atau menonaktifkan kunci CMEK, bahkan hanya untuk versi sebelumnya,
org apigee Anda akan mulai mengalami kegagalan fungsi, bergantung pada versi kunci
yang digunakan untuk enkripsi. API tertentu akan langsung berhenti berfungsi karena API tersebut memerlukan kunci CMEK untuk mendekripsi data, sedangkan fungsi tertentu akan mulai tidak berfungsi hanya saat beberapa tindakan sistem dipicu, seperti persistent disk Compute Engine yang akan dipasang ulang. Lihat
Penonaktifan kunci untuk mengetahui informasi selengkapnya.
Jika versi kunci dihancurkan, data Apigee apa pun yang dienkripsi dengan versi kunci tersebut tidak akan dapat dibaca dan dipulihkan. Ini adalah operasi permanen dan tidak dapat diubah.
Lihat juga:
Pemulihan kunci
Jika Anda tidak sengaja menghapus atau menonaktifkan kunci atau versi kunci sebelumnya, Anda
harus mencoba memulihkannya sesegera mungkin.
Perhatikan bahwa CMEK adalah fitur yang ditujukan untuk mencegah kehilangan data jika kunci tidak tersedia.
Setelah Anda memulihkan
kunci, organisasi apigee Anda tidak dijamin akan pulih, dan Anda mungkin
mengalami kehilangan data. Lihat
Mengaktifkan kembali kunci untuk mengetahui detail selengkapnya.
Hubungi Google Cloud Customer Care dan lihat langkah terbaik selanjutnya.
Lihat juga: Menghancurkan dan memulihkan versi kunci
Mencabut akses kunci
Jika Anda mencabut akses agen layanan Apigee ke kunci menggunakan IAM, Apigee tidak akan dapat mengakses data bidang kontrol yang dienkripsi oleh versi kunci apa pun. Operasi API Apigee yang bergantung pada dekripsi data akan gagal. Akses ke data dapat dipulihkan dengan memberikan kembali akses ke kunci dan operasi Apigee API yang mendekripsi data akan dipulihkan.
Lihat juga: Mengelola akses ke project, folder, dan organisasi
EKM
Apigee mendukung Cloud External Key Manager (Cloud EKM) untuk CMEK. Dengan dukungan EKM, Anda dapat memantau kondisi EKM dan menyiapkan pemberitahuan untuk masalah terkait EKM. Untuk mengetahui informasi selengkapnya, lihat Pemantauan kondisi EKM.
Pelacakan kunci
Apigee mendukung pelacakan penggunaan kunci. Tab Usage tracking kunci di Cloud Key Management Service mencantumkan resource Apigee yang dilindungi kunci, untuk jenis resource berikut:
-
apigee.googleapis.com/Organization, yang mencakup kunci enkripsi bidang kontrol, kunci enkripsi data konsumen API, dan kunci enkripsi database runtime. -
apigee.googleapis.com/Instance, yang mencakup kunci enkripsi disk.
Untuk deskripsi kunci ini, lihat Tentang kunci enkripsi Apigee.
Kuota
Penggunaan kunci CMEK dapat menghasilkan penggunaan terhadap beberapa kuota Cloud KMS. Untuk mengetahui informasi terbaru tentang kuota Cloud KMS, lihat Kuota.
Mencabut kunci enkripsi
Jika Anda yakin bahwa data Anda di Apigee di Google Cloud telah disusupi, Anda dapat mencabut kunci enkripsi Anda. Cabut CMEK runtime untuk membuat instance runtime Anda tidak berfungsi dan tidak dapat mengakses data gateway Anda. Cabut CMEK bidang kontrol agar Apigee tidak dapat melakukan pekerjaan analisis atau men-deploy proxy baru.
Menggunakan CMEK dengan Apigee
Kunci enkripsi Apigee digunakan untuk data runtime dan bidang kontrol, serta dibuat selama proses penyediaan.
Data bidang kontrol Apigee dienkripsi menggunakan kunci enkripsi yang berbeda dengan data runtime, dan dapat disimpan di region yang berbeda. Sesuai dengan dokumentasi CMEK, enkripsi ini hanya berlaku untuk data dalam penyimpanan, yaitu data yang pada akhirnya disimpan di disk.
Data bidang kontrol Apigee mencakup konfigurasi proxy (paket), beberapa data konfigurasi lingkungan, dan data analisis. Data runtime Apigee mencakup data aplikasi seperti KVM, cache, dan rahasia klien, yang kemudian disimpan dalam database runtime.
Lihat Tentang kunci enkripsi Apigee untuk deskripsi jenis kunci enkripsi.
Anda hanya dapat menambahkan kunci enkripsi pada saat pembuatan organisasi Apigee; setelah CMEK ditetapkan, Anda tidak dapat mengubah ke CMEK lain setelah pembuatan organisasi.
Region CMEK bidang kontrol residensi data
Di bidang kontrol Apigee yang diregionalisasi, Anda memilih dua kunci enkripsi untuk bidang kontrol Anda. Hal ini karena beberapa komponen yang mendasari bidang kontrol Apigee selalu berada di satu region dalam lokasi bidang kontrol. Lihat Region residensi data untuk mengetahui informasi selengkapnya.
| Detail | Kunci wajib |
|---|---|
|
Region bidang kontrol adalah tempat bidang kontrol berjalan. Bidang kontrol di Apigee adalah konsep abstrak tempat beberapa komponen dasar bersama-sama membentuk bidang kontrol Apigee. Data bidang kontrol adalah konfigurasi proxy dan penyimpanan analisis. Data bidang kontrol lainnya (misalnya, pemrosesan analisis, portal) berada di sub-region bidang kontrol. Semua komponen sub-region akan berada di region yang sama. |
Satu kunci untuk data bidang kontrol. Satu kunci untuk data sub-region bidang kontrol. |
Batasan kebijakan organisasi
Jika Anda memiliki batasan kebijakan organisasi CMEK pada project Google Cloud Anda, Apigee akan menerapkan kepatuhan terhadap batasan tersebut. Jika Anda menggunakan Apigee melalui UI Google Cloud , CLI, atau langsung melalui Apigee API, penegakan kebijakan CMEK dijamin. saat menggunakan Google Cloud UI Apigee, batasan kebijakan organisasi CMEK telah divalidasi sebelumnya sehingga UI dapat memandu Anda dalam memilih konfigurasi kepatuhan yang valid.
Batasan kebijakan organisasi CMEK dapat dibuat untuk mewajibkan:
- Kunci enkripsi yang dikelola pelanggan selalu digunakan
- Kunci enkripsi yang dikelola pelanggan hanya diizinkan dari project tertentu yang ditentukan dalam daftar yang diizinkan
Tidak semua fitur di Apigee saat ini mematuhi CMEK. Untuk memastikan bahwa project yang memerlukan CMEK tidak menggunakan fitur yang tidak dilindungi CMEK tanpa disadari, fitur tersebut akan dinonaktifkan untuk project yang dibatasi CMEK hingga fitur tersebut mematuhi ketentuan. Hanya penggunaan baru fitur yang akan dinonaktifkan (membuat resource baru atau mengaktifkan add-on). Fitur dan resource yang sudah digunakan akan tetap tersedia dan dapat diedit, tetapi tidak mematuhi CMEK. Fitur berikut ini akan dinonaktifkan:
-
Apigee Shadow API Discovery tidak tunduk pada kebijakan organisasi CMEK dan tidak mematuhi CMEK.
- Pembuatan organisasi evaluasi akan diblokir oleh API organisasi evaluasi CreateOrganization dan wizard penyediaan evaluasi.
-
Gemini Code Assist tidak tersedia.
- Pembuatan organisasi global akan diblokir oleh API organisasi evaluasi CreateOrganization dan wizard penyediaan evaluasi.
- Pembuatan instance Hybrid tidak tersedia untuk penerapan.
- Tombol Data Studio untuk membuka Data Studio dengan data dari Apigee akan dinonaktifkan jika CMEK diperlukan.
- Penegakan kepatuhan retroaktif untuk resource yang ada tidak tersedia; Anda harus menghapus dan membuat ulang resource jika ingin resource yang ada mematuhi kebijakan.
Lihat Menggunakan batasan kebijakan organisasi di Apigee untuk mengetahui informasi selengkapnya tentang penggunaan batasan kebijakan organisasi dengan Apigee.
Cara membuat kunci enkripsi
Secara default, Google mengelola pembuatan kunci enkripsi selama proses penyediaan; namun, Anda dapat membuatnya sendiri. Untuk mengetahui informasi selengkapnya, lihat Tentang kunci enkripsi Apigee.
Risiko dan mitigasi
Bagian ini menjelaskan potensi ancaman dan tindakan yang dapat Anda lakukan.
- Risiko:
- Kompromi kunci: Terjadi saat penyerang mendapatkan akses ke kunci enkripsi, yang berpotensi melalui kerentanan di KMS atau serangan terhadap administrator kunci.
- Denial of service: Penyerang dapat mengganggu akses ke kunci enkripsi atau data dengan menyerang KMS atau sistem penyimpanan.
- Kehilangan kunci: Penghapusan atau kehilangan kunci yang tidak disengaja dapat menyebabkan kehilangan data atau tidak dapat diakses.
- Mitigasi:
- Terapkan kebijakan kontrol akses dan pengelolaan kunci yang kuat.
- Pantau log dan aktivitas KMS untuk mendeteksi perilaku mencurigakan.
Pemecahan masalah
Tabel berikut menjelaskan beberapa kondisi error umum yang mungkin muncul dengan data configstore yang dienkripsi CMEK, perkiraan pesan error yang ditampilkan oleh Apigee API, dan langkah-langkah pemecahan masalah yang direkomendasikan.
| Pesan/gejala error | Penyebab | Langkah-langkah yang harus dilakukan |
|---|---|---|
Constraint constraints/gcp.restrictNonCmekServices violated for
projects/my-project attempting to create or enable trial org. CMEK is
not supported for trial orgs. To use trial orgs, adjust the
gcp.restrictNonCmekServices constraint for this project.
|
Anda mencoba menyediakan organisasi uji coba yang memiliki batasan kebijakan organisasi untuk project tersebut. |
CMEK tidak didukung untuk organisasi uji coba/evaluasi. Anda harus memperbarui batasan kebijakan organisasi constraints/gcp.restrictNonCmekServices untuk menghapus Apigee dari daftar layanan yang ditolak agar dapat menyediakan organisasi uji coba.
|
Constraint constraints/gcp.restrictCmekCryptoKeyProjects
violated for projects/my-project attempting to use
projects/my-project/locations/my-location/keyRings/kr-1/cryptoKeys/ck-1
key. Use a key from a project that is allowed by the
gcp.restrictCmekCryptoKeyProjects constraint.
|
Anda mencoba menyediakan organisasi yang memiliki batasan kebijakan organisasi untuk project dan menentukan KMS CryptoKey yang tidak diizinkan. |
Anda telah menetapkan constraints/gcp.restrictCmekCryptoKeyProjects
dalam kebijakan organisasi yang mengharuskan Anda memberikan kunci CMEK dari
project yang diizinkan yang Anda cantumkan. Anda harus menyediakan CMEK dari project yang diizinkan agar dapat membuat organisasi atau instance.
Atau, Anda dapat memperbarui batasan kebijakan organisasi
constraints/gcp.restrictCmekCryptoKeyProjects untuk mengizinkan
kunci dari project Google Cloud tertentu yang Anda inginkan.
|
Apigee does not have permission to access key "..."
|
Pengguna telah mencabut akses Apigee ke kunci KMS yang disediakan, yaitu,
dengan menghapus
peran roles/cloudkms.cryptoKeyEncrypterDecrypter.
|
Pengguna harus memeriksa peran yang dikonfigurasi pada kunci KMS dan memastikan bahwa agen layanan Apigee memiliki izin yang diperlukan. |
Unable to encrypt/decrypt data. Cloud KMS Error: "..." is not
enabled, current state is: DESTROYED.
|
Pengguna telah menonaktifkan atau menghapus versi kunci yang digunakan untuk mengenkripsi/mendekripsi bagian data yang diminta. | Pengguna harus mengaktifkan kembali versi kunci jika memungkinkan. Jika kunci atau versi kunci telah dihancurkan, data tidak dapat dipulihkan (sesuai desain). |
No new Analytics data for US/EU users
|
Salah satu kemungkinan penyebab masalah ini adalah pengguna mencabut/menonaktifkan/menghapus kunci region tunggal. | Pengguna harus mengaktifkan kembali/memulihkan akses kunci region tunggal. |
Control plane key "..." in region "..." is not valid for this
control plane instance. Supported region(s) are "…".
|
Pengguna telah memberikan kunci bidang kontrol satu region di region yang tidak valid atau tidak didukung untuk region atau multi-region yang dilayani oleh instance bidang kontrol. | Pengguna harus memberikan kunci di salah satu wilayah yang didukung atau memilih untuk menggunakan instance bidang kontrol yang berbeda. |
Multi-region control plane key is not valid for this control
plane instance. Specify only the "apiConsumerDataEncryptionKeyName"
field.
|
Pengguna telah memberikan kunci bidang kontrol multi-region di bidang kontrol yang hanya ada di satu region (yaitu, bukan bidang kontrol multi-regional). | Pengguna harus menghilangkan kolom kunci multi-regional atau memilih untuk menggunakan instance bidang kontrol multi-regional. |
Multi-region control plane key is not valid for this control
plane instance. Specify a multi-region key with region "..."
|
Pengguna telah memberikan kunci bidang kontrol multi-region ke instance bidang kontrol multi-regional yang salah (misalnya, kunci "us" ke instance bidang kontrol "eu") | Pengguna harus menggunakan kunci multi-regional di multi-region yang benar atau memilih untuk menggunakan instance bidang kontrol multi-regional yang berbeda. |
FAQ
Bagaimana cara mengubah kunci saat ini untuk menggunakan Cloud EKM?
Anda tidak dapat melakukannya. Cloud EKM hanya dapat dikonfigurasi saat organisasi Apigee dibuat, dan kunci enkripsi tidak dapat ditambahkan atau diubah setelahnya. Tidak ada cara untuk mengonversi organisasi yang ada, atau kunci yang sudah digunakannya, ke Cloud EKM.
Untuk menggunakan Cloud EKM, buat organisasi Apigee baru yang dikonfigurasi untuk menggunakan CMEK dengan Cloud EKM, lalu migrasikan resource Anda ke organisasi baru. Untuk mengetahui informasi selengkapnya, lihat EKM.