Dela via


Fullständig säkerhetskopiering och återställning och selektiv nyckelåterställning

Kommentar

Den här funktionen är endast tillgänglig för resurstyphanterad HSM.

Hanterad HSM har stöd för att skapa en fullständig säkerhetskopia av hela innehållet i HSM, inklusive alla nycklar, versioner, attribut, taggar och rolltilldelningar. Säkerhetskopian krypteras med kryptografiska nycklar som är associerade med HSM:s säkerhetsdomän.

Säkerhetskopiering är en dataplansåtgärd. Anroparen som initierar säkerhetskopieringsåtgärden måste ha behörighet att utföra dataAction Microsoft.KeyVault/managedHsm/backup/start/action.

Endast följande inbyggda roller har behörighet att utföra fullständig säkerhetskopiering:

  • Managed HSM-administratör
  • Managed HSM-säkerhetskopiering

Det finns två sätt att köra en fullständig säkerhetskopiering/återställning:

  1. Tilldela en användartilldelad hanterad identitet (UAMI) till den hanterade HSM-tjänsten. Du kan säkerhetskopiera och återställa din MHSM med hjälp av en användartilldelad hanterad identitet oavsett om ditt lagringskonto har offentlig nätverksåtkomst eller privat nätverksåtkomst aktiverat. Om lagringskontot ligger bakom en privat slutpunkt fungerar UAMI-metoden med förbikoppling av betrodda tjänster för att tillåta säkerhetskopiering och återställning.
  2. Använda SAS-token för lagringscontainer med behörigheterna "crdw". Säkerhetskopiering och återställning med sas-token för lagringscontainer kräver att ditt lagringskonto har åtkomst till det offentliga nätverket aktiverat.

Du måste ange följande information för att köra en fullständig säkerhetskopia:

  • HSM-namn eller URL
  • Lagringskontonamn
  • Bloblagringscontainer för lagringskonto
  • Användartilldelad hanterad identitet ELLER SAS-lagringscontainertoken med behörigheter "crdw"

Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Skärmbild som visar ett exempel på Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Knapp för att starta Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Skärmbild som visar Cloud Shell-knappen i Azure-portalen

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

Förutsättningar för säkerhetskopiering och återställning med användartilldelad hanterad identitet:

  1. Kontrollera att du har Azure CLI version 2.56.0 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa informationen i Installera Azure CLI.
  2. Skapa en användartilldelad hanterad identitet.
  3. Skapa ett lagringskonto (eller använd ett befintligt lagringskonto).
  4. Om åtkomsten till det offentliga nätverket är inaktiverad för ditt lagringskonto aktiverar du förbikoppling av betrodda tjänster på lagringskontot på fliken "Nätverk" under "Undantag".
  5. Ge rollen "storage blob data contributor" åtkomst till den användartilldelade hanterade identiteten som skapades i steg 2 genom att gå till fliken "Åtkomstkontroll" på portalen –> Lägg till rolltilldelning. Välj sedan "hanterad identitet" och välj den hanterade identitet som skapades i steg 2 –> Granska + tilldela
  6. Skapa Managed HSM och associera den hanterade identiteten med kommandot nedan.
    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" 
    

Om du har en befintlig hanterad HSM associerar du den hanterade identiteten genom att uppdatera MHSM med kommandot nedan.

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

Fullständig säkerhetskopia

Säkerhetskopiering är en tidskrävande åtgärd men returnerar omedelbart ett jobb-ID. Du kan kontrollera statusen för säkerhetskopieringsprocessen med hjälp av det här jobb-ID:t. Säkerhetskopieringsprocessen skapar en mapp i den avsedda containern med följande namngivningsmönster mhsm-{HSM_NAME}-{YYYY}{MM}{DD}{HH}{mm}{SS}, där HSM_NAME är namnet på den hanterade HSM som säkerhetskopieras och ÅÅÅÅ, MM, DD, HH, MM, mm, SS är året, månaden, datum, timme, minuter och sekunder av datum/tid i UTC när säkerhetskopieringskommandot togs emot.

Medan säkerhetskopieringen pågår kanske HSM inte fungerar med fullständigt dataflöde eftersom vissa HSM-partitioner är upptagna med att utföra säkerhetskopieringen.

Säkerhetskopiera HSM med användartilldelad hanterad identitet

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

Säkerhetskopiera HSM med SAS-token

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

Fullständig återställning

Med fullständig återställning kan du helt återställa innehållet i HSM med en tidigare säkerhetskopia, inklusive alla nycklar, versioner, attribut, taggar och rolltilldelningar. Allt som för närvarande lagras i HSM rensas och återgår till samma tillstånd som när källsäkerhetskopian skapades.

Viktigt!

Fullständig återställning är en mycket destruktiv och störande åtgärd. Därför är det obligatoriskt att ha slutfört en fullständig säkerhetskopia av den HSM som du återställer till minst 30 minuter innan en restore åtgärd kan utföras.

Återställning är en dataplansåtgärd. Anroparen som startar återställningsåtgärden måste ha behörighet att utföra dataAction Microsoft.KeyVault/managedHsm/restore/start/action. HSM-källan där säkerhetskopian skapades och mål-HSM där återställningen ska utföras måste ha samma säkerhetsdomän. Läs mer om Managed HSM-säkerhetsdomän.

Det finns två sätt att köra en fullständig återställning. Du måste ange följande information för att köra en fullständig återställning:

  • HSM-namn eller URL
  • Lagringskontonamn
  • Blobcontainer för lagringskonto
  • Användartilldelad hanterad identitet ELLER SAS-lagringscontainertoken med behörigheter rl
  • Lagringscontainermappens namn där källsäkerhetskopian lagras

Återställning är en tidskrävande åtgärd men returnerar omedelbart ett jobb-ID. Du kan kontrollera status för återställningsprocessen med hjälp av det här jobb-ID:t. När återställningsprocessen pågår, går HSM in i ett återställningsläge och alla dataplanskommandon (utom kontrollåterställningsstatus) inaktiveras.

Återställa HSM med användartilldelad hanterad identitet

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

Återställa HSM med hjälp av SAS-token

# 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

Selektiv nyckelåterställning

Med selektiv nyckelåterställning kan du återställa en enskild nyckel med alla dess nyckelversioner från en tidigare säkerhetskopia till en HSM. Nyckeln måste rensas för att selektiv nyckelåterställning ska fungera. Om du försöker återställa en mjuk borttagen nyckel använder du återställning av nyckel. Läs mer om återställning av nycklar.

Selektiv nyckelåterställning med användartilldelad hanterad identitet

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

Selektiv nyckelåterställning med hjälp av SAS-token

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

Nästa steg