Úplné zálohování a obnovení a selektivní obnovení klíče

Poznámka:

Tato funkce je dostupná jenom pro spravované HSM typu prostředku.

Spravovaný HSM podporuje vytvoření úplné zálohy celého obsahu HSM včetně všech klíčů, verzí, atributů, značek a přiřazení rolí. Zálohování se šifruje pomocí kryptografických klíčů přidružených k doméně zabezpečení HSM.

Zálohování je operace roviny dat. Volající, který spouští operaci zálohování, musí mít oprávnění k provedení akce DataAction Microsoft.KeyVault/managedHsm/backup/start/action.

K úplnému zálohování mají oprávnění pouze následující předdefinované role:

  • Správce spravovaného HSM
  • Zálohování spravovaného HSM

Úplné zálohování nebo obnovení můžete provést dvěma způsoby:

  1. Přiřazení spravované identity přiřazené uživatelem (UAMI) ke spravované službě HSM MhSM můžete zálohovat a obnovovat pomocí spravované identity přiřazené uživatelem bez ohledu na to, jestli má váš účet úložiště povolený přístup k veřejné síti nebo privátní přístup k síti. Pokud je účet úložiště za privátním koncovým bodem, metoda UAMI funguje s obejitím důvěryhodné služby, aby umožňovala zálohování a obnovení.
  2. Použití tokenu SAS kontejneru úložiště s oprávněními crdw Zálohování a obnovení pomocí tokenu SAS kontejneru úložiště vyžaduje, aby váš účet úložiště měl povolený přístup k veřejné síti.

K provedení úplného zálohování je nutné zadat následující informace:

  • Název nebo adresa URL HSM
  • Název účtu úložiště
  • Kontejner úložiště objektů blob účtu úložiště
  • Token SAS kontejneru spravované identity přiřazené uživatelem nebo kontejneru úložiště s oprávněními crdw

Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.

Spuštění služby Azure Cloud Shell:

Možnost Příklad nebo odkaz
Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu. Snímek obrazovky znázorňující příklad možnosti Vyzkoušet pro Azure Cloud Shell
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. Tlačítko pro spuštění Azure Cloud Shellu
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. Snímek obrazovky znázorňující tlačítko Cloud Shell na webu Azure Portal

Použití Azure Cloud Shellu:

  1. Spusťte Cloud Shell.

  2. Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.

  3. Vložte kód nebo příkaz do relace Cloud Shellu tak, že ve Windows a Linuxu vyberete ctrl+Shift+V nebo vyberete Cmd+Shift+V v macOS.

  4. Stisknutím klávesy Enter spusťte kód nebo příkaz.

Požadavky na zálohování a obnovení pomocí spravované identity přiřazené uživatelem:

  1. Ujistěte se, že máte Azure CLI verze 2.56.0 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace rozhraní příkazového řádku Azure CLI.
  2. Vytvořte spravovanou identitu přiřazenou uživatelem.
  3. Vytvořte účet úložiště (nebo použijte existující účet úložiště).
  4. Pokud je ve vašem účtu úložiště zakázaný přístup k veřejné síti, na kartě Sítě v části Výjimky povolte obejití důvěryhodné služby.
  5. Pokud chcete poskytnout přístup role Přispěvatel dat objektů blob úložiště k spravované identitě přiřazené uživatelem vytvořenou v kroku 2, přejděte na kartu Řízení přístupu na portálu –> Přidání přiřazení role. Pak vyberte spravovanou identitu a vyberte spravovanou identitu vytvořenou v kroku 2 –> Zkontrolovat a přiřadit.
  6. Vytvořte spravovaný HSM a přidružte spravovanou identitu k následujícímu příkazu.
    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" 
    

Pokud máte existující spravovaný HSM, přidružte spravovanou identitu aktualizací MHSM pomocí následujícího příkazu.

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

Úplné zálohování

Zálohování je dlouhotrvající operace, ale okamžitě vrátí ID úlohy. Stav procesu zálohování můžete zkontrolovat pomocí tohoto ID úlohy. Proces zálohování vytvoří složku uvnitř určeného kontejneru s následujícím vzorem mhsm-{HSM_NAME}-{YYYY}{MM}{DD}{HH}{mm}{SS}pojmenování, kde HSM_NAME je název zálohovaného spravovaného HSM a YYYY, MM, DD, HH, MM, mm, SS jsou rok, měsíc, datum, hodina, minuty a sekundy data a času v UTC při přijetí příkazu zálohování.

V průběhu zálohování nemusí HSM fungovat s plnou propustností, protože některé oddíly HSM budou zaneprázdněné prováděním operace zálohování.

Zálohování HSM pomocí spravované identity přiřazené uživatelem

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

Zálohování HSM pomocí tokenu 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}

Úplné obnovení

Úplné obnovení umožňuje úplné obnovení obsahu HSM s předchozí zálohou, včetně všech klíčů, verzí, atributů, značek a přiřazení rolí. Všechno, co je aktuálně uložené v modulu HSM, se vymaže a vrátí se do stejného stavu, ve jakém byl při vytvoření zdrojové zálohy.

Důležité

Úplné obnovení je velmi destruktivní a rušivé operace. Proto je nutné dokončit úplné zálohování alespoň 30 minut před provedením restore operace.

Obnovení je operace roviny dat. Volající, který spouští operaci obnovení, musí mít oprávnění k provádění akce DataAction Microsoft.KeyVault/managedHsm/restore/start/action. Zdrojový HSM, ve kterém se záloha vytvořila, a cílový HSM, kde se provede obnovení, musí mít stejnou doménu zabezpečení. Přečtěte si další informace o doméně zabezpečení spravovaného HSM.

Existují 2 způsoby, jak provést úplné obnovení. Chcete-li provést úplné obnovení, je nutné zadat následující informace:

  • Název nebo adresa URL HSM
  • Název účtu úložiště
  • Kontejner objektů blob účtu úložiště
  • Token SAS kontejneru spravované identity přiřazené uživatelem nebo kontejneru úložiště s oprávněními rl
  • Název složky kontejneru úložiště, ve které je uložená zdrojová záloha

Obnovení je dlouhotrvající operace, ale okamžitě vrátí ID úlohy. Pomocí tohoto ID úlohy můžete zkontrolovat stav procesu obnovení. Když probíhá proces obnovení, HSM přejde do režimu obnovení a všechny příkazy roviny dat (s výjimkou kontroly stavu obnovení) jsou zakázané.

Obnovení HSM pomocí spravované identity přiřazené uživatelem

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

Obnovení HSM pomocí tokenu 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

Selektivní obnovení klíče

Selektivní obnovení klíče umožňuje obnovit jeden jednotlivý klíč se všemi jeho verzemi klíčů z předchozí zálohy do HSM.

Selektivní obnovení klíče pomocí spravované identity přiřazené uživatelem

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

Selektivní obnovení klíče pomocí tokenu 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

Další kroky