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:
- 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.
- 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. | |
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. | |
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. |
Så här använder du Azure Cloud Shell:
Starta Cloud Shell.
Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.
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.
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:
- 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. - Skapa en användartilldelad hanterad identitet.
- Skapa ett lagringskonto (eller använd ett befintligt lagringskonto).
- 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".
- 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
- 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