Pemulihan bencana HSM yang Dikelola

Anda mungkin ingin membuat replika tepat HSM Anda jika aslinya hilang atau tidak tersedia karena salah satu alasan di bawah ini:

  • Dihapus dan kemudian dibersihkan.
  • Kegagalan bencana di wilayah tersebut mengakibatkan semua partisi anggota hancur.

Anda dapat membuat ulang instans HSM di wilayah yang sama atau berbeda jika Anda memiliki hal berikut:

  • Domain Keamanan sumber HSM.
  • Kunci privat (setidaknya nomor kuorum) yang mengenkripsi domain keamanan.
  • Cadangan HSM penuh terbaru dari sumber HSM.

Berikut adalah langkah-langkah prosedur pemulihan bencana:

  1. Buat Instans HSM baru.
  2. Aktifkan "Pemulihan Domain Keamanan". Pasangan kunci RSA baru (Kunci Pertukaran Domain Keamanan) akan dibuat untuk transfer Domain Keamanan dan dikirim sebagai respons, yang akan diunduh sebagai SecurityDomainExchangeKey (kunci umum).
  3. Buat lalu unggah "File Transfer Domain Keamanan". Anda akan memerlukan kunci privat yang mengenkripsi domain keamanan. Kunci privat digunakan secara lokal, dan tidak pernah ditransfer ke mana pun dalam proses ini.
  4. Mengambil cadangan HSM baru. Cadangan diperlukan sebelum pemulihan apa pun, bahkan ketika HSM kosong. Cadangan memungkinkan untuk memudahkan roll-back.
  5. Pulihkan cadangan HSM baru-baru ini dari sumber HSM.

Langkah-langkah ini akan memungkinkan Anda untuk mereplikasi konten HSM secara manual ke wilayah lain. Nama HSM (dan URI titik akhir layanan) akan berbeda, jadi Anda harus mengubah konfigurasi aplikasi Anda untuk menggunakan kunci ini dari lokasi yang berbeda.

Membuat HSM terkelola baru

Gunakan perintah az keyvault create untuk membuat HSM terkelola. Skrip ini memiliki tiga parameter wajib: nama grup sumber daya, nama HSM, dan lokasi geografis.

Sediakan input berikut untuk membuat sumber daya HSM terkelola:

  • Nama untuk HSM.
  • Grup sumber daya tempat sumber daya akan ditempatkan di langganan Anda.
  • Lokasi Azure.
  • Daftar administrator awal.

Contoh berikut membuat HSM bernama ContosoMHSM2, di grup sumber daya ContosoResourceGroup, berada di lokasi US Barat 3 , dengan pengguna yang masuk saat ini sebagai satu-satunya administrator.

oid=$(az ad signed-in-user show --query objectId -o tsv)
az keyvault create --hsm-name "ContosoMHSM2" --resource-group "ContosoResourceGroup" --location "westus3" --administrators $oid

Catatan

Perintah buat memerlukan waktu beberapa menit. Setelah berhasil kembali, Anda siap untuk mengaktifkan HSM Anda.

Peringatan

Instans HSM terkelola dianggap selalu digunakan. Jika Anda memilih untuk mengaktifkan perlindungan pembersihan menggunakan --enable-purge-protection bendera, Anda akan ditagih untuk keseluruhan periode retensi.

Output dari perintah ini menunjukkan properti HSM terkelola yang telah Anda buat. Dua properti yang paling penting adalah:

  • nama: Dalam contoh, nama yang digunakan adalah ContosoMHSM. Anda akan menggunakan nama ini untuk perintah Key Vault lainnya.
  • hsmUri: Dalam contoh, URI yang digunakan adalah 'https://contosomhsm2.managedhsm.azure.net.' Aplikasi yang menggunakan HSM Anda melalui REST API-nya harus menggunakan URI ini.

Akun Azure Anda saat ini memiliki autorisasi untuk melakukan operasi apa pun pada HSM terkelola tersebut. Sampai saat ini, tidak ada orang lain yang diotorisasi.

Mengaktifkan mode pemulihan Domain Keamanan

Pada titik ini dalam proses pembuatan normal, kami menginisialisasi dan mengunduh Domain Keamanan HSM yang baru. Namun, karena kami menjalankan prosedur pemulihan bencana, kami meminta HSM untuk memasukkan Mode Pemulihan Domain Keamanan dan mengunduh Kunci Pertukaran Domain Keamanan sebagai gantinya. Kunci Pertukaran Domain Keamanan adalah kunci publik RSA yang akan digunakan untuk mengenkripsi domain keamanan sebelum mengunggahnya ke HSM. Kunci privat yang sesuai dilindungi di dalam HSM, untuk menjaga keamanan konten Domain Keamanan Anda selama transfer.

az keyvault security-domain init-recovery --hsm-name ContosoMHSM2 --sd-exchange-key ContosoMHSM2-SDE.cer

Membuat blob Pengunggahan Domain Keamanan dari HSM sumber

Untuk langkah ini, Anda memerlukan:

  • Kunci Pertukaran Domain Keamanan yang Anda unduh di langkah sebelumnya.
  • Domain Keamanan sumber HSM.
  • Jumlah minimal kuorum kunci privat yang digunakan untuk mengenkripsi domain keamanan.

Perintah az keyvault security-domain restore-blob melakukan operasi berikut:

  • Dekripsi Domain Keamanan sumber HSM dengan kunci pribadi yang Anda berikan.
  • Membuat blob Unggahan Domain Keamanan yang dienkripsi dengan Kunci Pertukaran Domain Keamanan yang kami unduh di langkah sebelumnya

Langkah ini dapat dilakukan secara offline.

Dalam contoh berikut, kami menggunakan Domain Keamanan dari ContosoMHSM, 3 kunci privat yang sesuai, dan Kunci Pertukaran Domain Keamanan untuk membuat dan mengunduh blob terenkripsi yang akan kami gunakan untuk mengunggah ke ContosoMHSM2, yang menunggu untuk menerima Domain Keamanan.

az keyvault security-domain restore-blob --sd-exchange-key ContosoMHSM2-SDE.cer --sd-file ContosoMHSM-SD.json --sd-wrapping-keys cert_0.key cert_1.key cert_2.key --sd-file-restore-blob restore_blob.json 

Unggah blob Unggah Domain Keamanan ke HSM tujuan

Kami sekarang menggunakan blob Unggah Domain Keamanan yang dibuat pada langkah sebelumnya dan mengunggahnya ke HSM tujuan untuk menyelesaikan pemulihan domain keamanan. Bendera --restore-blob digunakan untuk mencegah mengekspos kunci di lingkungan online.

az keyvault security-domain upload --hsm-name ContosoMHSM2 --sd-file restore_blob.json --restore-blob

Kini baik HSM sumber (ContosoMHSM) maupun HSM tujuan (ContosoMHSM2) memiliki domain keamanan yang sama. Kami sekarang dapat memulihkan cadangan penuh dari HSM sumber ke HSM tujuan.

Pencadangan dan pemulihan

Selalu ada baiknya untuk mengambil cadangan penuh sebelum Anda menjalankan pemulihan HSM penuh, sehingga Anda memiliki titik pemulihan jika terjadi kesalahan dengan pemulihan. Anda dapat melakukan ini menggunakan salah satu dari dua metode: identitas terkelola yang ditetapkan pengguna, atau token SAS.

Buat cadangan (sebagai titik pemulihan) dari HSM baru Anda

Untuk membuat cadangan HSM, Anda memerlukan:

  • Akun penyimpanan tempat cadangan akan disimpan
  • Kontainer penyimpanan blob di akun penyimpanan ini di mana proses pencadangan akan membuat folder baru untuk menyimpan cadangan terenkripsi
  • Identitas terkelola yang ditetapkan pengguna yang memiliki peran Kontributor Data Blob Penyimpanan pada akun penyimpanan ATAU token SAS kontainer penyimpanan dengan izin 'crdw'

Kami menggunakan perintah az keyvault backup ke cadangan HSM dalam kontainer penyimpanan mhsmbackupcontainer, yang ada di akun penyimpanan mhsmdemobackup dalam contoh berikut.

Jika menggunakan metode identitas terkelola yang ditetapkan pengguna, kami menentukan identitas terkelola yang ditetapkan pengguna dengan --mi-user-assigned parameter dan mengaitkannya ke HSM Terkelola sebelum menulis cadangan dalam contoh di bawah ini.

az keyvault update-hsm --hsm-name ContosoMHSM2 --mi-user-assigned "/subscriptions/subid/resourcegroups/mhsmrgname/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userassignedidentityname"
az keyvault backup start --use-managed-identity true --hsm-name ContosoMHSM2 --storage-account-name mhsmdemobackup --blob-container-name mhsmbackupcontainer

Pulihkan pencadangan dari sumber HSM

Untuk langkah ini Anda perlu:

  • Akun penyimpanan dan kontainer blob tempat cadangan HSM sumber disimpan.
  • Nama folder dari mana Anda ingin memulihkan cadangan. Jika Anda membuat cadangan reguler, akan ada banyak folder di dalam kontainer ini.

Kami menggunakan perintah pemulihan keyvault az ke HSM ContosoMHSM2 baru, menggunakan cadangan MHSM sumber yang kami coba pulihkan, yang ada di nama folder mhsm-ContosoMHSM-2020083120161860 yang ditemukan dalam kontainer penyimpanan mhsmdemobackupcontainer akun penyimpanan ContosoBackup dalam contoh berikut.

Jika menggunakan metode identitas terkelola yang ditetapkan pengguna, kami mengatur --use-managed-identity pramater ke "true".

az keyvault restore start --hsm-name ContosoMHSM2 --storage-account-name ContosoBackup --blob-container-name mhsmdemobackupcontainer --backup-folder mhsm-ContosoMHSM-2020083120161860 --use-managed-identity true

Sekarang Anda telah menyelesaikan proses pemulihan bencana penuh. Konten HSM sumber ketika cadangan diambil disalin ke HSM tujuan, termasuk semua kunci, versi, atribut, tag, dan penetapan peran.

Langkah berikutnya