Pengantar CMEK

Halaman ini menjelaskan penggunaan CMEK dengan Apigee. Untuk 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 informasi 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.

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 untuk memenuhi persyaratan keamanan dan kepatuhan.

Jika memerlukan kontrol lebih besar atas operasi kunci daripada yang diizinkan oleh kunci 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

Memutar 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 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 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, meskipun hanya untuk versi sebelumnya, organisasi apigee Anda akan mulai mengalami malfungsi, bergantung pada versi kunci yang digunakan untuk enkripsi. API tertentu akan segera berhenti berfungsi karena API tersebut memerlukan kunci CMEK untuk mendekripsi data, sementara fungsi tertentu akan mulai tidak berfungsi hanya saat beberapa tindakan sistem dipicu, seperti disk persisten Compute Engine yang akan dipasang ulang. Lihat Penonaktifan kunci untuk informasi selengkapnya.

Jika versi kunci dihancurkan, data Apigee apa pun yang dienkripsi dengan versi kunci tersebut tidak akan dapat dibaca dan tidak dapat dipulihkan. Tindakan ini bersifat permanen dan tidak dapat dibatalkan.

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 kebocoran 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 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 platform kontrol apa pun yang dienkripsi oleh versi kunci apa pun. Operasi Apigee API yang bergantung pada mendekripsi 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 kerusakan umum bahwa error Cloud EKM tidak akan disebarkan dengan benar dan ditampilkan kepada Anda.

Pelacakan tombol

Apigee tidak mendukung pelacakan kunci. Jika Anda menggunakan tampilan 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 menghasilkan penggunaan terhadap beberapa kuota Cloud KMS. Untuk mengetahui informasi terbaru tentang kuota Cloud KMS, lihat Kuota.

Membatalkan kunci enkripsi

Jika yakin bahwa data Anda di Apigee di Google Cloud telah disusupi, Anda dapat mencabut kunci enkripsi. 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 tugas analisis atau men-deploy proxy baru.

Menggunakan CMEK dengan Apigee

Kunci enkripsi Apigee digunakan untuk data runtime dan data platform kontrol serta dibuat selama proses penyediaan.

Data platform 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 di 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 mengubahnya 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. Hal ini karena beberapa komponen yang mendasari bidang kontrol Apigee selalu berada di satu region dalam lokasi bidang kontrol. Lihat Region retensi data untuk mengetahui informasi selengkapnya.

Detail Kunci yang diperlukan

Region bidang kontrol adalah tempat bidang kontrol berjalan. Bidang kontrol di Apigee adalah konsep abstrak yang terdiri dari beberapa komponen dasar yang 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, Apigee akan menerapkan kepatuhan terhadap batasan tersebut. Jika Anda menggunakan Apigee melalui UI Google Cloud, CLI, atau langsung melalui Apigee API, penerapan kebijakan CMEK akan terjamin. saat menggunakan UI Google Cloud 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:

Saat ini, tidak semua fitur di Apigee mematuhi CMEK. Untuk memastikan bahwa project yang memerlukan CMEK tidak secara tidak sadar menggunakan fitur yang tidak dilindungi CMEK, fitur tersebut akan dinonaktifkan untuk project yang dibatasi CMEK hingga mematuhi kebijakan. 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:

  • UI Apigee Klasik tidak akan tersedia untuk organisasi yang baru dibuat dan memerlukan CMEK karena organisasi CMEK adalah organisasi regional yang tidak didukung di UI Klasik. Organisasi yang ada tetap dapat menggunakan UI Klasik. Perhatikan, pravalidasi CMEK tidak akan diterapkan di UI Klasik dan akan bergantung pada error API. Artinya, organisasi yang sudah ada dan memerlukan CMEK tidak akan memiliki UX terpandu untuk mengonfigurasi konfigurasi CMEK atau untuk menonaktifkan fitur yang tidak mematuhi CMEK.
  • Apigee Shadow API Discovery tidak tunduk pada kebijakan organisasi CMEK dan tidak mematuhi CMEK.

  • Pembuatan organisasi evaluasi akan diblokir oleh CreateOrganization eval org API dan wizard penyediaan evaluasi.
  • Gemini Code Assist tidak tersedia.

  • Pembuatan organisasi global akan diblokir oleh CreateOrganization eval org API dan wizard penyediaan eval.
  • Pembuatan instance Hybrid tidak tersedia untuk penerapan.
  • Tombol Looker Studio untuk membuka Looker Studio dengan data dari Apigee akan dinonaktifkan jika CMEK diperlukan.
  • Pembuatan portal akan diblokir oleh CreateSite API. Karena UI portal hanya ada di Apigee Classic (bukan di konsol Google Cloud), dan pravalidasi tidak akan diterapkan di UI Apigee Classic, blok ini akan bergantung pada error API (tombol portal Create di UI Apigee Classic tidak akan dinonaktifkan).
  • Penerapan retroaktif kepatuhan untuk resource yang ada tidak tersedia; Anda harus menghapus dan membuat ulang resource jika memerlukan resource yang ada untuk 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:
    • Kompromi kunci: Terjadi saat penyerang mendapatkan akses ke kunci enkripsi, kemungkinan melalui kerentanan di KMS atau serangan terhadap administrator kunci.
    • Serangan penolakan layanan: Penyerang dapat mengganggu akses ke kunci atau data enkripsi dengan menyerang KMS atau sistem penyimpanan.
    • Kehilangan kunci: Penghapusan atau kehilangan kunci yang tidak disengaja dapat menyebabkan hilangnya data atau tidak dapat diakses.
  • Mitigasi:
    • Terapkan kebijakan kontrol akses dan pengelolaan kunci yang kuat.
    • Pantau log dan aktivitas KMS untuk mendeteksi perilaku yang mencurigakan.

Pemecahan masalah

Tabel berikut menjelaskan beberapa kondisi error umum yang dapat terjadi dengan data configstore terenkripsi 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. CMEK tidak didukung untuk organisasi uji coba/penilaian. Anda harus memperbarui constraints/gcp.restrictNonCmekServices batasan kebijakan organisasi 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 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 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 (secara desain).
No new Analytics data for US/EU users Salah satu kemungkinan penyebab masalah ini adalah kunci satu wilayah pengguna yang dicabut/dinonaktifkan/dihapus. Pengguna harus mengaktifkan kembali/memulihkan akses kunci satu region.
Control plane key "..." in region "..." is not valid for this control plane instance. Supported region(s) are "…". Pengguna telah memberikan kunci bidang kontrol region tunggal di region yang tidak valid atau didukung untuk region atau multi-region yang ditayangkan 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-regional). Pengguna harus menghapus kolom kunci multi-regional atau memilih untuk menggunakan instance platform 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-region yang salah (misalnya, kunci "us" ke instance bidang kontrol "eu") Pengguna harus menggunakan kunci multi-region di multi-region yang benar atau memilih untuk menggunakan instance bidang kontrol multi-region yang berbeda.