Mengonfigurasi kunci yang dikelola pelanggan untuk akun Azure Cosmos DB anda yang sudah ada dengan Azure Key Vault

BERLAKU UNTUK: Nosql MongoDB Cassandra Gremlin Meja

Mengaktifkan enkripsi lapisan kedua untuk data tidak aktif menggunakan Kunci yang Dikelola Pelanggan saat membuat akun Azure Cosmos DB baru telah tersedia secara umum untuk beberapa waktu sekarang. Sebagai langkah selanjutnya yang alami, kita sekarang memiliki kemampuan untuk mengaktifkan CMK pada akun Azure Cosmos DB yang ada.

Fitur ini menghilangkan kebutuhan migrasi data ke akun baru untuk mengaktifkan CMK. Ini membantu meningkatkan postur keamanan dan kepatuhan pelanggan.

Mengaktifkan CMK memulai latar belakang, proses asinkron untuk mengenkripsi semua data yang ada di akun, sementara data masuk baru dienkripsi sebelum bertahan. Tidak perlu menunggu operasi asinkron berhasil. Proses pengaktifan menggunakan RU yang tidak digunakan/cadangan sehingga tidak memengaruhi beban kerja baca/tulis Anda. Anda dapat merujuk ke tautan ini untuk perencanaan kapasitas setelah akun Anda dienkripsi.

Mulailah dengan mengaktifkan CMK di akun Anda yang sudah ada

Penting

Buka bagian prasyarat secara menyeluruh. Ini adalah pertimbangan penting.

Prasyarat

Semua langkah prasyarat yang diperlukan saat mengonfigurasi Kunci Terkelola Pelanggan untuk akun baru berlaku untuk mengaktifkan CMK di akun Anda yang sudah ada. Lihat langkah-langkah di sini

Penting untuk dicatat bahwa mengaktifkan enkripsi pada akun Azure Cosmos DB Anda akan menambahkan overhead kecil ke ID dokumen Anda, membatasi ukuran maksimum ID dokumen menjadi 990 byte, bukan 1024 byte. Jika akun Anda memiliki dokumen dengan ID yang lebih besar dari 990 byte, proses enkripsi akan gagal hingga dokumen tersebut dihapus.

Untuk memverifikasi apakah akun Anda sesuai, Anda dapat menggunakan aplikasi konsol yang disediakan yang dihosting di sini untuk memindai akun Anda. Pastikan Anda menggunakan titik akhir dari properti akun 'sqlEndpoint', apa pun API yang dipilih.

Jika Anda ingin menonaktifkan validasi sisi server untuk ini selama migrasi, silakan hubungi dukungan.

Langkah-langkah untuk mengaktifkan CMK di akun Anda yang sudah ada

Untuk mengaktifkan CMK pada akun yang sudah ada, perbarui akun dengan templat ARM yang mengatur pengidentifikasi kunci Key Vault di properti keyVaultKeyUri - seperti yang Anda lakukan saat mengaktifkan CMK di akun baru. Langkah ini dapat dilakukan dengan mengeluarkan panggilan PATCH dengan payload berikut:

    {
        "properties": {
        "keyVaultKeyUri": "<key-vault-key-uri>"
        }
    }

Output dari perintah CLI ini untuk mengaktifkan CMK menunggu penyelesaian enkripsi data.

    az cosmosdb update --name "testaccount" --resource-group "testrg" --key-uri "https://keyvaultname.vault.azure.net/keys/key1"

Langkah-langkah untuk mengaktifkan CMK pada akun Azure Cosmos DB yang sudah ada dengan pencadangan berkelanjutan atau akun penyimpanan Analitik

Untuk mengaktifkan CMK pada akun yang ada yang memiliki pencadangan berkelanjutan dan pemulihan titik waktu diaktifkan, kita perlu mengikuti beberapa langkah tambahan. Ikuti langkah 1 ke langkah 5 lalu ikuti instruksi untuk mengaktifkan CMK pada akun yang sudah ada.

Catatan

Identitas yang ditetapkan sistem dan mode pencadangan berkelanjutan saat ini berada di bawah Pratinjau Umum dan dapat berubah di masa mendatang. Saat ini, hanya identitas terkelola yang ditetapkan pengguna yang didukung untuk mengaktifkan CMK pada akun cadangan berkelanjutan.

  1. Mengonfigurasi identitas terkelola ke akun kosmos Anda Mengonfigurasi identitas terkelola dengan ID Microsoft Entra untuk akun Azure Cosmos DB Anda

  2. Perbarui akun cosmos untuk mengatur identitas default agar menunjuk ke identitas terkelola yang ditambahkan pada langkah sebelumnya

    Untuk Identitas terkelola sistem :

    az cosmosdb update --resource-group $resourceGroupName  --name $accountName  --default-identity "SystemAssignedIdentity=subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MyRG/providers/Microsoft.ManagedIdentity/ systemAssignedIdentities/MyID"
    

    Untuk Identitas terkelola pengguna :

    az cosmosdb update -n $sourceAccountName -g $resourceGroupName --default-identity "UserAssignedIdentity=subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MyRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyID"
    
  3. Konfigurasikan Keyvault seperti yang diberikan dalam dokumentasi di sini

  4. Menambahkan kebijakan akses di keyvault untuk identitas default yang diatur di langkah sebelumnya

  5. Perbarui akun cosmos untuk mengatur uri keyvault, pembaruan ini memicu pengaktifan CMK pada akun

    az cosmosdb update --name $accountName --resource-group $resourceGroupName --key-uri $keyVaultKeyURI  
    

Pembatasan yang diketahui

  • Mengaktifkan CMK hanya tersedia di tingkat akun Cosmos DB dan bukan pada koleksi.
  • Kami tidak mendukung pengaktifan CMK pada akun Azure Cosmos DB for Apache Cassandra yang ada.
  • Kami tidak mendukung pengaktifan CMK pada akun yang sudah ada yang diaktifkan untuk Tampilan Materialisasi dan semua versi dan menghapus mode umpan perubahan.
  • Pastikan akun tidak boleh memiliki dokumen dengan ID besar yang lebih besar dari 990 byte sebelum mengaktifkan CMK. Jika tidak, Anda akan mendapatkan kesalahan karena batas maksimal yang didukung sebesar 1024 byte setelah enkripsi.
  • Selama enkripsi data yang ada, tindakan sarana kontrol seperti "tambahkan wilayah" diblokir. Tindakan ini tidak diblokir dan dapat digunakan tepat setelah enkripsi selesai.

Memantau kemajuan enkripsi yang dihasilkan

Mengaktifkan CMK pada akun yang ada adalah operasi asinkron yang memulai tugas latar belakang yang mengenkripsi semua data yang ada. Dengan demikian, permintaan REST API untuk mengaktifkan CMK memberikan dalam responsnya URL "Azure-AsyncOperation". Polling URL ini dengan permintaan GET mengembalikan status operasi keseluruhan, yang akhirnya Berhasil. Mekanisme ini sepenuhnya dijelaskan dalam artikel ini .

Akun Cosmos DB dapat terus digunakan dan data dapat terus ditulis tanpa menunggu operasi asinkron berhasil. Perintah CLI untuk mengaktifkan CMK menunggu penyelesaian enkripsi data.

Jika Anda memiliki pertanyaan lebih lanjut, hubungi Dukungan Microsoft.

Tanya Jawab Umum

Apa faktor-faktor di mana waktu enkripsi bergantung?

Mengaktifkan CMK adalah operasi asinkron dan bergantung pada CUKUP RU yang tidak digunakan yang tersedia. Sebaiknya aktifkan CMK selama jam sibuk dan jika berlaku, Anda dapat meningkatkan RU sebelumnya, untuk mempercepat enkripsi. Ini juga merupakan fungsi langsung dari ukuran data.

Apakah kita perlu mengurungkan diri untuk waktu henti?

Mengaktifkan CMK memulai latar belakang, proses asinkron untuk mengenkripsi semua data. Tidak perlu menunggu operasi asinkron berhasil. Akun Azure Cosmos DB tersedia untuk dibaca dan ditulis dan tidak perlu waktu henti.

Dapatkah Anda menabrak RU setelah CMK telah dipicu?

Disarankan untuk menabrak RU sebelum Anda memicu CMK. Setelah CMK dipicu, beberapa operasi sarana kontrol diblokir sampai enkripsi selesai. Blok ini dapat mencegah pengguna meningkatkan RU setelah CMK dipicu.

Apakah ada cara untuk membalikkan enkripsi atau menonaktifkan enkripsi setelah memicu CMK?

Setelah proses enkripsi data menggunakan CMK dipicu, proses tersebut tidak dapat dikembalikan.

Apakah mengaktifkan enkripsi menggunakan CMK pada akun yang ada berdampak pada ukuran data dan baca/tulis?

Seperti yang Anda harapkan, dengan mengaktifkan CMK ada sedikit peningkatan ukuran data dan RU untuk mengakomodasi pemrosesan enkripsi/dekripsi tambahan.

Haruskah Anda mencadangkan data sebelum mengaktifkan CMK?

Mengaktifkan CMK tidak menimbulkan ancaman kehilangan data.

Apakah cadangan lama diambil sebagai bagian dari cadangan berkala yang dienkripsi?

Tidak. Cadangan berkala lama tidak dienkripsi. Pencadangan yang baru dibuat setelah CMK diaktifkan dienkripsi.

Apa perilaku pada akun yang sudah ada yang diaktifkan untuk Pencadangan berkelanjutan?

Ketika CMK diaktifkan, enkripsi juga diaktifkan untuk pencadangan berkelanjutan. Setelah CMK diaktifkan, semua akun yang dipulihkan ke depannya akan diaktifkan CMK.

Apa perilaku jika CMK diaktifkan pada akun yang diaktifkan PITR dan kami memulihkan akun ke waktu CMK dinonaktifkan?

Dalam hal ini CMK secara eksplisit diaktifkan pada akun target yang dipulihkan karena alasan berikut:

  • Setelah CMK diaktifkan pada akun, tidak ada opsi untuk menonaktifkan CMK.
  • Perilaku ini sejalan dengan desain pemulihan akun yang diaktifkan CMK saat ini dengan pencadangan berkala

Apa yang terjadi ketika pengguna mencabut kunci saat migrasi CMK sedang berlangsung?

Status kunci diperiksa ketika enkripsi CMK dipicu. Jika kunci di Azure Key vault berada dalam posisi yang baik, enkripsi dimulai dan proses selesai tanpa pemeriksaan lebih lanjut. Bahkan jika kunci dicabut, atau brankas kunci Azure dihapus atau tidak tersedia, proses enkripsi berhasil.

Dapatkah kita mengaktifkan enkripsi CMK pada akun produksi yang ada?

Ya. Buka bagian prasyarat secara menyeluruh. Sebaiknya uji semua skenario terlebih dahulu pada akun nonproduksi dan setelah Anda nyaman, Anda dapat mempertimbangkan akun produksi.

Langkah berikutnya