Pengantar CMEK

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 yang terkait dengan kunci yang melindungi data, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK).

Anda dapat membaca lebih lanjut 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, CMEK 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 Google-owned dan Google-managed , 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 tetap dapat diakses selama versi kunci sebelumnya yang digunakan untuk mengenkripsi data tidak dinonaktifkan atau dihancurkan.

Tujuan utama rotasi kunci adalah membatasi eksposur data ke satu kunci, bukan untuk mengganti versi kunci lama sepenuhnya. Apigee saat ini 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 ingin menghapus versi kunci sebelumnya sepenuhnya, Anda harus membuat ulang organisasi apigee. Untuk kunci enkripsi runtime, jika Anda ingin menghapus versi kunci sebelumnya sepenuhnya, 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.

Saat Anda menghapus atau menonaktifkan kunci CMEK, bahkan hanya untuk versi sebelumnya, organisasi apigee Anda akan mulai tidak berfungsi dengan baik, bergantung pada versi kunci yang digunakan untuk enkripsi. API tertentu akan berhenti berfungsi segera karena API tersebut memerlukan kunci CMEK untuk mendekripsi data, sedangkan fungsi tertentu hanya akan mulai tidak berfungsi dengan baik saat beberapa tindakan sistem dipicu, seperti Compute Engine disk persisten 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. Ini adalah operasi 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 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 Layanan Pelanggan Google Cloud dan lihat langkah terbaik berikutnya.

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 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 cacat yang diketahui bahwa error Cloud EKM tidak akan dipropagasi dan ditampilkan dengan benar kepada Anda.

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 mengetahui 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 yakin bahwa data Anda di Apigee Google Cloud terganggu, 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 untuk membuat 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 CMEK dokumentasi, 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 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 diregionalkan, Anda memilih dua kunci enkripsi untuk bidang kontrol. Hal ini karena beberapa komponen yang mendasari bidang kontrol Apigee selalu berada dalam satu region di dalam lokasi bidang kontrol. Lihat Region residensi 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 membentuk bidang kontrol Apigee. Data bidang kontrol adalah konfigurasi proxy dan penyimpanan analisis storage.

Data bidang kontrol lainnya (misalnya, pemrosesan analisis, portal) is 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 Google Cloud project, Apigee akan menerapkan kepatuhan terhadap batasan tersebut. Jika Anda menggunakan Apigee melalui Google Cloud UI, CLI, atau langsung melalui Apigee API, penerapan kebijakan CMEK akan dijamin. Saat menggunakan Google Cloud Apigee UI, batasan kebijakan organisasi CMEK divalidasi terlebih dahulu sehingga UI dapat memandu Anda memilih konfigurasi kepatuhan yang valid.

Batasan kebijakan organisasi CMEK dapat dibuat untuk mewajibkan:

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 mematuhi CMEK. 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:

  • 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 evaluasi.
  • Pembuatan instance Hybrid tidak tersedia untuk penerapan.
  • Tombol Data Studio untuk membuka Data Studio dengan data dari Apigee akan dinonaktifkan jika CMEK diperlukan.
  • Penerapan kepatuhan secara retrospektif untuk resource yang ada tidak tersedia. Anda harus menghapus dan membuat ulang resource jika memerlukan resource yang ada agar mematuhi CMEK.

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.
    • 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 kehilangan data atau tidak dapat diakses.
  • Mitigasi:
    • Menerapkan kontrol akses dan kebijakan pengelolaan kunci yang kuat.
    • Memantau log dan aktivitas KMS untuk mendeteksi perilaku mencurigakan.

Pemecahan masalah

Tabel berikut menjelaskan beberapa kondisi error umum yang mungkin terjadi dengan data configstore yang dienkripsi CMEK, pesan error perkiraan 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 constraint untuk project. 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 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 Anda cantumkan. 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 tertentu yang Anda inginkan. Google Cloud
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 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 region tunggal 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 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 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.