Pencadangan dan pemulihan penuh dan pemulihan kunci selektif

Catatan

Fitur ini hanya tersedia untuk jenis sumber daya HSM terkelola.

HSM terkelola mendukung pembuatan cadangan penuh seluruh konten HSM yang mencakup semua kunci, versi, atribut, tag, dan penetapan peran. Cadangan dienkripsi dengan kunci kriptografi yang terkait dengan domain keamanan HSM.

Cadangan adalah operasi sarana data. Penelepon yang memulai operasi pencadangan harus memiliki izin untuk melakukan dataAction Microsoft.KeyVault/managedHsm/backup/start/action.

Hanya peran bawaan berikut yang memiliki izin untuk melakukan pencadangan penuh:

  • Administrator Managed HSM
  • Pencadangan HSM Terkelola

Ada dua cara untuk menjalankan pencadangan/pemulihan penuh:

  1. Menetapkan Identitas Terkelola yang Ditetapkan Pengguna (UAMI) ke layanan HSM Terkelola. Anda dapat mencadangkan dan memulihkan MHSM menggunakan identitas terkelola yang ditetapkan pengguna terlepas dari apakah akun penyimpanan Anda mengaktifkan akses jaringan publik atau akses jaringan privat. Jika akun penyimpanan berada di belakang titik akhir privat, metode UAMI bekerja dengan bypass layanan tepercaya untuk memungkinkan pencadangan dan pemulihan.
  2. Menggunakan token SAS kontainer penyimpanan dengan izin 'crdw'. Mencadangkan dan memulihkan menggunakan token SAS kontainer penyimpanan mengharuskan akun penyimpanan Anda mengaktifkan akses jaringan publik.

Anda harus memberikan informasi berikut untuk menjalankan pencadangan penuh:

  • Nama atau URL HSM
  • Nama akun penyimpanan
  • Kontainer penyimpanan blob akun penyimpanan
  • Identitas terkelola yang ditetapkan pengguna ATAU token SAS kontainer penyimpanan dengan izin 'crdw'

Azure Cloud Shell

Azure meng-hosting Azure Cloud Shell, lingkungan shell interaktif yang dapat Anda gunakan melalui browser. Anda dapat menggunakan Bash atau PowerShell dengan Cloud Shell untuk bekerja dengan layanan Azure. Anda dapat menggunakan perintah Cloud Shell yang telah diinstal sebelumnya untuk menjalankan kode dalam artikel ini tanpa harus menginstal apa-apa di lingkungan lokal Anda.

Untuk memulai Azure Cloud Shell:

Opsi Contoh/Tautan
Pilih Coba di pojok kanan atas blok kode atau perintah. Memilih Coba tidak otomatis menyalin kode atau perintah ke Cloud Shell. Cuplikan layar yang menunjukkan contoh Try It for Azure Cloud Shell.
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. Tombol untuk meluncurkan Azure Cloud Shell.
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. Cuplikan layar yang menunjukkan tombol Cloud Shell di portal Azure

Untuk menggunakan Azure Cloud Shell:

  1. Mulai Cloud Shell.

  2. Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.

  3. Tempel kode atau perintah ke dalam sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux, atau dengan memilih Cmd+Shift+V di macOS.

  4. Pilih Masukkan untuk menjalankan kode atau perintah.

Prasyarat jika mencadangkan dan memulihkan menggunakan identitas terkelola yang ditetapkan pengguna:

  1. Pastikan Anda memiliki Azure CLI versi 2.56.0 atau yang lebih baru. Jalankan az --version untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, Pasang Azure CLI.
  2. Membuat identitas terkelola yang ditetapkan pengguna.
  3. Buat akun penyimpanan (atau gunakan akun penyimpanan yang sudah ada).
  4. Jika akses jaringan publik dinonaktifkan di akun penyimpanan Anda, aktifkan bypass layanan tepercaya pada akun penyimpanan di tab "Jaringan", di bagian "Pengecualian."
  5. Berikan akses peran 'kontributor data blob penyimpanan' ke identitas terkelola yang ditetapkan pengguna yang dibuat di langkah #2 dengan masuk ke tab "Kontrol Akses" di portal -> Tambahkan Penetapan Peran. Kemudian pilih "identitas terkelola" dan pilih identitas terkelola yang dibuat di langkah#2 -> Tinjau + Tetapkan
  6. Buat HSM Terkelola dan kaitkan identitas terkelola dengan perintah di bawah ini.
    az keyvault create --hsm-name mhsmdemo2 –l mhsmlocation -- retention-days 7 --administrators "initialadmin" --mi-user-assigned "/subscriptions/subid/resourcegroups/mhsmrgname/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userassignedidentitynamefromstep2" 
    

Jika Anda memiliki HSM Terkelola yang ada, kaitkan identitas terkelola dengan memperbarui MHSM dengan perintah di bawah ini.

 az keyvault update-hsm --hsm-name mhsmdemo2 --mi-user-assigned "/subscriptions/subid/resourcegroups/mhsmrgname/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userassignedidentitynamefromstep2" 

Pencadangan penuh

Pencadangan adalah operasi jangka panjang tetapi segera mengembalikan ID Pekerjaan. Anda dapat memeriksa status proses pencadangan menggunakan ID Pekerjaan ini. Proses pencadangan membuat folder di dalam kontainer yang ditentukan dengan pola penamaan berikut mhsm-{HSM_NAME}-{YYYY}{MM}{DD}{HH}{mm}{SS}, yang mana HSM_NAME adalah nama HSM terkelola yang dicadangkan dan YYYY, MM, DD, HH, MM, mm, SS adalah tahun, bulan, tanggal, jam, menit, dan detik untuk tanggal/waktu dalam zona UTC ketika perintah pencadangan diterima.

Saat pencadangan sedang berlangsung, HSM mungkin tidak beroperasi pada throughput penuh karena beberapa partisi HSM akan sibuk melakukan operasi pencadangan.

Mencadangkan HSM menggunakan identitas terkelola yang ditetapkan pengguna

az keyvault backup start --use-managed-identity true --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer

Mencadangkan HSM menggunakan token SAS

# time for 500 minutes later for SAS token expiry

end=$(date -u -d "500 minutes" '+%Y-%m-%dT%H:%MZ')

# Get storage account key

skey=$(az storage account keys list --query '[0].value' -o tsv --account-name mhsmdemobackup --subscription {subscription-id})

# Create a container

az storage container create --account-name  mhsmdemobackup --name mhsmdemobackupcontainer  --account-key $skey

# Generate a container sas token

sas=$(az storage container generate-sas -n mhsmdemobackupcontainer --account-name mhsmdemobackup --permissions crdw --expiry $end --account-key $skey -o tsv --subscription {subscription-id})

# Backup HSM

az keyvault backup start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --subscription {subscription-id}

Pemulihan penuh

Pemulihan penuh memungkinkan Anda memulihkan konten HSM sepenuhnya dengan cadangan sebelumnya, termasuk semua kunci, versi, atribut, tag, dan penetapan peran. Semua yang saat ini disimpan di HSM akan dihapuskan dan kembali ke keadaan yang sama ketika cadangan sumber dibuat.

Penting

Pemulihan penuh adalah operasi yang sangat merusak dan mengganggu. Oleh karena itu, wajib untuk menyelesaikan pencadangan penuh setidaknya 30 menit sebelum restore operasi dapat dilakukan.

Pemulihan adalah operasi data plane. Penelepon yang memulai operasi pemulihan harus memiliki izin untuk melakukan dataAction Microsoft.KeyVault/managedHsm/backup/start/action. HSM sumber tempat cadangan dibuat dan HSM tujuan tempat pemulihan akan dilakukan harus memiliki Domain Keamanan yang sama. Lihat selengkapnya tentang Domain Keamanan HSM Terkelola.

Ada 2 cara untuk menjalankan pemulihan penuh. Anda harus menyediakan informasi berikut untuk menjalankan pemulihan penuh:

  • Nama atau URL HSM
  • Nama akun penyimpanan
  • Kontainer blob akun penyimpanan
  • Identitas terkelola yang ditetapkan pengguna ATAU token SAS kontainer penyimpanan dengan izin rl
  • Nama folder kontainer penyimpanan tempat cadangan sumber disimpan

Pemulihan adalah operasi yang berjalan lama, tetapi akan langsung memberikan ID Pekerjaan. Anda dapat memeriksa status proses pemulihan menggunakan ID Pekerjaan ini. Ketika proses pemulihan sedang berlangsung, HSM memasuki mode pemulihan dan semua perintah data plane (kecuali status pemulihan pemeriksaan) dinonaktifkan.

Memulihkan HSM menggunakan identitas terkelola yang ditetapkan pengguna

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --backup-folder mhsm-backup-foldername --use-managed-identity true

Memulihkan HSM menggunakan token SAS

# time for 500 minutes later for SAS token expiry

end=$(date -u -d "500 minutes" '+%Y-%m-%dT%H:%MZ')

# Get storage account key

skey=$(az storage account keys list --query '[0].value' -o tsv --account-name mhsmdemobackup --subscription {subscription-id})

# Generate a container sas token

sas=$(az storage container generate-sas -n mhsmdemobackupcontainer --account-name mhsmdemobackup --permissions rl --expiry $end --account-key $skey -o tsv --subscription {subscription-id})

# Restore HSM

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --backup-folder mhsm-mhsmdemo-2020083120161860

Pemulihan kunci selektif

Pemulihan kunci selektif memungkinkan Anda memulihkan satu kunci individual dengan semua versi kuncinya dari cadangan sebelumnya ke HSM.

Pemulihan kunci selektif menggunakan identitas terkelola yang ditetapkan pengguna

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --backup-folder mhsm-backup-foldername --use-managed-identity true --key-name rsa-key2

Pemulihan kunci selektif menggunakan token SAS

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --backup-folder mhsm-mhsmdemo-2020083120161860 -–key-name rsa-key2

Langkah berikutnya