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 lebih lanjut cara menggunakan 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.
Penggunaan 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 memerlukan kontrol lebih besar atas operasi kunci daripada yang diizinkan oleh kunci enkripsi yang dimiliki dan dikelola Google , 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 akan 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 tunggal, bukan untuk mengganti versi kunci lama sepenuhnya.
Saat ini, Apigee tidak mendukung enkripsi ulang saat rotasi kunci.
Khusus untuk Apigee, saat Anda merotasi kunci, hanya sejumlah kecil data baru (misalnya revisi proxy baru) yang akan dienkripsi dengan versi kunci utama yang baru. Sebagian besar data, seperti data analisis, disk runtime, dan
revisi proxy lama masih menggunakan versi kunci lama.
Jika Anda ingin menghapus sepenuhnya versi kunci sebelumnya, Anda harus
membuat ulang organisasi apigee. Untuk kunci enkripsi runtime, jika Anda ingin menghapus versi kunci sebelumnya sepenuhnya, Anda perlu 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.
Saat Anda menghapus atau menonaktifkan kunci CMEK, bahkan hanya untuk versi sebelumnya,
org apigee Anda akan mulai tidak berfungsi, bergantung pada versi
kunci yang digunakan untuk enkripsi. API tertentu akan berhenti berfungsi
segera karena API tersebut memerlukan kunci CMEK untuk mendekripsi data, sementara fungsi
tertentu hanya akan mulai tidak berfungsi 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 akan menjadi tidak dapat dibaca dan tidak dapat dipulihkan. Tindakan ini bersifat permanen dan tidak dapat dibatalkan.
Lihat juga:
Pemulihan kunci
Jika Anda secara tidak sengaja menghapus atau menonaktifkan kunci atau versi kunci sebelumnya, Anda harus mencoba memulihkannya sesegera mungkin.
Perhatikan bahwa CMEK adalah fitur yang ditujukan untuk kehilangan data jika kunci tidak tersedia.
Setelah Anda memulihkan
kunci, pemulihan org apigee Anda tidak dijamin, dan Anda mungkin
mengalami kehilangan data. Lihat
Mengaktifkan kembali kunci untuk mengetahui detail selengkapnya.
Hubungi Layanan Pelanggan Google Cloud 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 apa pun yang dienkripsi oleh versi kunci apa pun. Operasi Apigee API 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 saat ini tidak mendukung Cloud External Key Manager (Cloud EKM). Jika Anda menggunakan Cloud EKM, ada cacat yang diketahui bahwa error Cloud EKM tidak akan dipropagasi dan ditampilkan dengan benar kepada Anda.
Pelacakan kunci
Apigee tidak mendukung pelacakan kunci, jika Anda menggunakan penggunaan kunci dan menyadari bahwa versi kunci tertentu tidak digunakan, perhatikan bahwa hal ini tidak akurat karena Apigee belum terintegrasi dengan fitur pelacakan kunci.
Kuota
Penggunaan kunci CMEK dapat menimbulkan penggunaan terhadap beberapa kuota Cloud KMS. Untuk informasi terbaru tentang kuota Cloud KMS, lihat Kuota.
Mencabut kunci enkripsi
Jika Anda yakin bahwa data Anda di Apigee dalam Google Cloud telah disusupi, Anda dapat mencabut kunci enkripsi Anda. Mencabut CMEK runtime untuk membuat instance runtime Anda tidak berfungsi dan tidak dapat mengakses data gateway Anda. Mencabut 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 control plane 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 secret klien, yang kemudian disimpan dalam database runtime.
Lihat Tentang kunci enkripsi Apigee untuk mengetahui deskripsi jenis kunci enkripsi.
Anda dapat menambahkan kunci enkripsi hanya 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 diregionalkan, 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 Wilayah residensi data untuk mengetahui informasi selengkapnya.
| Detail | Kunci wajib |
|---|---|
|
Region bidang kontrol adalah tempat bidang kontrol berjalan. Bidang kontrol di Apigee adalah konsep abstrak yang terdiri dari beberapa komponen pokok yang 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 di project Google Cloud Anda, Apigee akan menerapkan kepatuhan terhadap batasan tersebut. Jika Anda menggunakan Apigee melalui Google Cloud UI, CLI, atau langsung melalui Apigee API, penerapan kebijakan CMEK dijamin. saat menggunakan Google Cloud UI Apigee, batasan kebijakan organisasi CMEK telah divalidasi sebelumnya sehingga UI dapat memandu Anda 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 secara tidak sengaja menggunakan fitur yang tidak dilindungi CMEK, fitur tersebut akan dinonaktifkan untuk project yang dibatasi CMEK hingga project tersebut mematuhi kebijakan. Hanya penggunaan fitur baru 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:
-
Penemuan Shadow API Apigee tidak tunduk pada kebijakan organisasi CMEK dan tidak mematuhi CMEK.
- Pembuatan org evaluasi akan diblokir oleh API org evaluasi CreateOrganization dan wizard penyediaan evaluasi.
-
Gemini Code Assist tidak tersedia.
- Pembuatan organisasi global akan diblokir oleh CreateOrganization API org evaluasi dan wizard penyediaan evaluasi.
- Pembuatan instance Hybrid tidak tersedia untuk penegakan.
- Tombol Looker Studio untuk membuka Looker Studio dengan data dari Apigee akan dinonaktifkan jika CMEK diperlukan.
- Pemberlakuan kepatuhan secara retroaktif untuk resource yang ada tidak tersedia; Anda harus menghapus dan membuat ulang resource jika Anda ingin resource yang ada mematuhi kebijakan.
Lihat Menggunakan batasan kebijakan organisasi di Apigee untuk mengetahui informasi selengkapnya tentang cara menggunakan 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:
- Penyusupan kunci: Terjadi saat penyerang mendapatkan akses ke kunci enkripsi, yang berpotensi melalui kerentanan di KMS atau serangan terhadap administrator kunci.
- Penolakan layanan: 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 data hilang atau tidak dapat diakses.
- Mitigasi:
- Terapkan kebijakan pengelolaan kunci dan kontrol akses 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 error/gejala | 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 org uji coba yang memiliki batasan kebijakan organisasi untuk project tersebut. |
CMEK tidak didukung untuk organisasi uji coba/evaluasi. Anda harus mengupdate
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 ada dalam daftar yang diizinkan. |
Anda telah menetapkan constraints/gcp.restrictCmekCryptoKeyProjects
dalam kebijakan organisasi yang mengharuskan Anda memberikan kunci CMEK dari
project yang diizinkan yang tercantum oleh Anda. Anda harus memberikan 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 diberikan, 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 (berdasarkan desain). |
No new Analytics data for US/EU users
|
Salah satu kemungkinan penyebab masalah ini adalah pengguna mencabut/menonaktifkan/menghapus kunci wilayah 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 didukung untuk region atau multi-region yang dilayani oleh instance bidang kontrol. | Pengguna harus memberikan kunci di salah satu region 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-region). | Pengguna harus menghapus 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. |