Tam yedekleme ve geri yükleme ile seçmeli anahtar geri yükleme

Not

Bu özellik yalnızca kaynak türü yönetilen HSM için kullanılabilir.

Yönetilen HSM, tüm anahtarlar, sürümler, öznitelikler, etiketler ve rol atamaları dahil olmak üzere HSM'nin tüm içeriğinin tam yedeğini oluşturmayı destekler. Yedekleme, HSM'nin güvenlik etki alanıyla ilişkili şifreleme anahtarlarıyla şifrelenir.

Yedekleme bir veri düzlemi işlemidir. Yedekleme işlemini başlatan çağıranın dataAction Microsoft.KeyVault/managedHsm/backup/start/action gerçekleştirme izni olmalıdır.

Yalnızca aşağıdaki yerleşik rollerin tam yedekleme gerçekleştirme izni vardır:

  • Yönetilen HSM Yöneticisi
  • Yönetilen HSM Yedeklemesi

Tam yedekleme/geri yükleme yürütmenin iki yolu vardır:

  1. Yönetilen HSM hizmetine Kullanıcı Tarafından Atanan Yönetilen Kimlik (UAMI) atama. MHSM'nizi, depolama hesabınızın genel ağ erişimine veya özel ağ erişimine sahip olup olmadığına bakılmaksızın kullanıcı tarafından atanan yönetilen kimliği kullanarak yedekleyebilir ve geri yükleyebilirsiniz. Depolama hesabı özel bir uç noktanın arkasındaysa UAMI yöntemi, yedekleme ve geri yükleme için izin vermek üzere güvenilen hizmet atlama ile çalışır.
  2. 'crdw' izinlerine sahip depolama kapsayıcısı SAS belirtecini kullanma. Depolama kapsayıcısı SAS belirtecini kullanarak yedekleme ve geri yükleme, depolama hesabınızın genel ağ erişiminin etkinleştirilmiş olmasını gerektirir.

Tam yedekleme yürütmek için aşağıdaki bilgileri sağlamanız gerekir:

  • HSM adı veya URL'si
  • Depolama hesabı adı
  • Depolama hesabı blob depolama kapsayıcısı
  • Kullanıcı tarafından atanan yönetilen kimlik VEYA 'crdw' izinlerine sahip depolama kapsayıcısı SAS belirteci

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Azure Cloud Shell için Deneyin örneğini gösteren ekran görüntüsü.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Azure Cloud Shell'i başlatma düğmesi.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Azure portalında Cloud Shell düğmesini gösteren ekran görüntüsü

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

Kullanıcı tarafından atanan yönetilen kimlik kullanılarak yedekleme ve geri yükleme önkoşulları:

  1. Azure CLI 2.56.0 veya sonraki bir sürüme sahip olduğunuzdan emin olun. Sürümü bulmak için az --version komutunu çalıştırın. Yükleme veya yükseltme yapmanız gerekirse bkz. Azure CLI'yı yükleme.
  2. Kullanıcı tarafından atanan yönetilen kimlik oluşturun.
  3. Depolama hesabı oluşturun (veya mevcut bir depolama hesabını kullanın).
  4. Depolama hesabınızda genel ağ erişimi devre dışı bırakıldıysa, "Ağ" sekmesindeki "Özel Durumlar" bölümünde depolama hesabında güvenilen hizmet atlama özelliğini etkinleştirin.
  5. Portaldaki "Erişim Denetimi" sekmesine giderek 2. adımda oluşturulan kullanıcı tarafından atanan yönetilen kimliğe "depolama blob verileri katkıda bulunanı" rol erişimi sağlayın -> Rol Ataması Ekle. Ardından "yönetilen kimlik" seçeneğini belirleyin ve 2. adımda oluşturulan yönetilen kimliği seçin -> Gözden Geçir + Ata
  6. Yönetilen HSM'yi oluşturun ve yönetilen kimliği aşağıdaki komutla ilişkilendirin.
    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" 
    

Yönetilen HSM'niz varsa MHSM'yi aşağıdaki komutla güncelleştirerek yönetilen kimliği ilişkilendirin.

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

Tam yedekleme

Yedekleme uzun süre çalışan bir işlemdir ancak hemen bir İş Kimliği döndürür. Bu İş Kimliğini kullanarak yedekleme işleminin durumunu de kontrol edebilirsiniz. Yedekleme işlemi, belirtilen kapsayıcı içinde aşağıdaki adlandırma düzenine mhsm-{HSM_NAME}-{YYYY}{MM}{DD}{HH}{mm}{SS}sahip bir klasör oluşturur; burada HSM_NAME yedeklenen yönetilen HSM'nin adıdır ve yedekleme komutunun alındığı UTC'de YYYY, MM, DD, HH, MM, mm, SS yıl, ay, tarih, saat, dakika ve saniye cinsinden tarih/saat değeridir.

Yedekleme devam ederken, bazı HSM bölümleri yedekleme işlemini gerçekleştirmekle meşgul olacağı için HSM tam aktarım hızıyla çalışmayabilir.

Kullanıcı tarafından atanan yönetilen kimliği kullanarak HSM yedekleme

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

SAS belirtecini kullanarak HSM yedekleme

# 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}

Tam geri yükleme

Tam geri yükleme, tüm anahtarlar, sürümler, öznitelikler, etiketler ve rol atamaları dahil olmak üzere önceki bir yedeklemeyle HSM'nin içeriğini tamamen geri yüklemenize olanak tanır. Şu anda HSM'de depolanan her şey silinir ve kaynak yedekleme oluşturulduğunda olduğu duruma döner.

Önemli

Tam geri yükleme çok yıkıcı ve yıkıcı bir işlemdir. Bu nedenle, bir işlemin gerçekleştirilebilmesinden en az 30 dakika önce restore tam yedeklemenin tamamlanması zorunludur.

Geri yükleme bir veri düzlemi işlemidir. Geri yükleme işlemini başlatan çağıranın dataAction Microsoft.KeyVault/managedHsm/restore/start/action gerçekleştirme izni olmalıdır. Yedeklemenin oluşturulduğu kaynak HSM ile geri yüklemenin gerçekleştirileceği hedef HSM aynı Güvenlik Etki Alanına sahip olmalıdır . Yönetilen HSM Güvenlik Etki Alanı hakkında daha fazla bilgi edinin.

Tam geri yüklemeyi yürütmenin 2 yolu vardır. Tam geri yükleme yürütmek için aşağıdaki bilgileri sağlamanız gerekir:

  • HSM adı veya URL'si
  • Depolama hesabı adı
  • hesap blob kapsayıcısı Depolama
  • Kullanıcı tarafından atanan yönetilen kimlik VEYA izinlere sahip depolama kapsayıcısı SAS belirteci rl
  • Kaynak yedeklemenin depolandığı kapsayıcı klasörü adını Depolama

Geri yükleme uzun süre çalışan bir işlemdir, ancak hemen bir İş Kimliği döndürür. Bu İş Kimliğini kullanarak geri yükleme işleminin durumunu de kontrol edebilirsiniz. Geri yükleme işlemi devam ederken HSM bir geri yükleme moduna geçer ve tüm veri düzlemi komutu (geri yükleme durumunu denetleme dışında) devre dışı bırakılır.

Kullanıcı tarafından atanan yönetilen kimliği kullanarak HSM'yi geri yükleme

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

SAS belirtecini kullanarak HSM'yi geri yükleme

# 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

Seçmeli anahtar geri yükleme

Seçmeli anahtar geri yükleme, tek bir anahtarı önceki bir yedeklemeden HSM'ye tüm anahtar sürümleriyle geri yüklemenize olanak tanır.

Kullanıcı tarafından atanan yönetilen kimliği kullanarak seçmeli anahtar geri yükleme

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

SAS belirtecini kullanarak seçmeli anahtar geri yükleme

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

Sonraki Adımlar