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:
- 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.
- '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. | |
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 portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. |
Azure Cloud Shell'i kullanmak için:
Cloud Shell'i başlatın.
Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.
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.
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ı:
- 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. - Kullanıcı tarafından atanan yönetilen kimlik oluşturun.
- Depolama hesabı oluşturun (veya mevcut bir depolama hesabını kullanın).
- 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.
- 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
- 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 restore
işlemin gerçekleştirilebilmesinden en az 30 dakika önce geri yüklediğiniz HSM'nin tam yedeklemesini tamamlamış olmanız 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ı
- Depolama hesabı blob kapsayıcısı
- Kullanıcı tarafından atanan yönetilen kimlik VEYA izinlere sahip depolama kapsayıcısı SAS belirteci
rl
- Kaynak yedeklemenin depolandığı depolama kapsayıcısı klasör adı
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. Seçmeli anahtar geri yüklemenin çalışması için anahtarın temizlenmesi gerekir. Geçici olarak silinen bir anahtarı kurtarmayı denerseniz anahtar kurtarmayı kullanın. Anahtar kurtarma hakkında daha fazla bilgi edinin.
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
- Bkz. Azure CLI kullanarak Yönetilen HSM'yi yönetme.
- Yönetilen HSM Güvenlik Etki Alanı hakkında daha fazla bilgi edinin