Hanterad HSM-haveriberedskap
Du kanske vill skapa en exakt replik av din HSM om originalet går förlorat eller inte är tillgängligt på grund av något av följande:
- Den togs bort och rensades sedan.
- Ett oåterkalleligt fel i regionen resulterade i att alla medlemspartitioner förstördes.
Du kan återskapa HSM-instansen i samma eller en annan region om du har:
- Säkerhetsdomänen för källans HSM.
- De privata nycklar (minst kvorumnummer) som krypterar säkerhetsdomänen.
- Den senaste fullständiga HSM-säkerhetskopieringen från HSM-källan.
Här följer stegen i haveriberedskapsproceduren:
- Skapa en ny HSM-instans.
- Aktivera "Security Domain Recovery". Ett nytt RSA-nyckelpar (Security Domain Exchange Key) genereras för överföring av säkerhetsdomäner och skickas som svar, som laddas ned som en SecurityDomainExchangeKey (offentlig nyckel).
- Skapa och ladda sedan upp "Security Domain Transfer File". Du behöver de privata nycklar som krypterar säkerhetsdomänen. De privata nycklarna används lokalt och överförs aldrig någonstans i den här processen.
- Gör en säkerhetskopia av den nya HSM:n. En säkerhetskopia krävs före en återställning, även när HSM är tom. Säkerhetskopieringar möjliggör enkel återställning.
- Återställ den senaste HSM-säkerhetskopieringen från HSM-källan.
Med de här stegen kan du manuellt replikera innehållet i HSM till en annan region. HSM-namnet (och tjänstslutpunkts-URI: n) kommer att vara annorlunda, så du måste ändra programkonfigurationen för att använda dessa nycklar från en annan plats.
Skapa en ny hanterad HSM
az keyvault create
Använd kommandot för att skapa en hanterad HSM. Det här skriptet har tre obligatoriska parametrar: ett resursgruppsnamn, ett HSM-namn och den geografiska platsen.
Du måste ange följande indata för att skapa en hanterad HSM-resurs:
- Namnet på HSM.
- Den resursgrupp där den ska placeras i din prenumeration.
- Azure-platsen.
- En lista över inledande administratörer.
I följande exempel skapas en HSM med namnet ContosoMHSM2 i resursgruppen ContosoResourceGroup, som finns på platsen USA, västra 3 , med den aktuella inloggade användaren som enda administratör.
oid=$(az ad signed-in-user show --query objectId -o tsv)
az keyvault create --hsm-name "ContosoMHSM2" --resource-group "ContosoResourceGroup" --location "westus3" --administrators $oid
Kommentar
Det kan ta några minuter att skapa kommandot. När den har returnerats är du redo att aktivera din HSM.
Varning
Hanterade HSM-instanser anses alltid vara i bruk. Om du väljer att aktivera rensningsskydd med hjälp av --enable-purge-protection
flaggan debiteras du för hela kvarhållningsperioden.
Utdata från det här kommandot visar egenskaperna för den hanterade HSM som du har skapat. De två viktigaste egenskaperna är:
- name: I exemplet är namnet ContosoMHSM. Du använder det här namnet för andra Key Vault-kommandon.
- hsmUri: I exemplet är URI:n "https://contosomhsm2.managedhsm.azure.net." Program som använder din HSM via rest-API:et måste använda den här URI:n.
Ditt Azure-konto har nu behörighet att utföra alla åtgärder på denna hanterade HSM. Än så länge har ingen annan behörighet.
Aktivera återställningsläget för säkerhetsdomänen
Nu i den normala skapandeprocessen initierar och laddar vi ned den nya HSM-säkerhetsdomänen. Men eftersom vi kör en haveriberedskapsprocedur ber vi HSM att gå in i Säkerhetsdomänåterställningsläge och ladda ned en Exchange-nyckel för säkerhetsdomäner i stället. Exchange-nyckeln för säkerhetsdomäner är en offentlig RSA-nyckel som ska användas för att kryptera säkerhetsdomänen innan den laddas upp till HSM. Motsvarande privata nyckel skyddas i HSM för att skydda innehållet i säkerhetsdomänen under överföringen.
az keyvault security-domain init-recovery --hsm-name ContosoMHSM2 --sd-exchange-key ContosoMHSM2-SDE.cer
Skapa en säkerhetsdomänuppladdningsblob för källans HSM
För det här steget behöver du:
- Exchange-nyckeln för säkerhetsdomänen som du laddade ned i föregående steg.
- Säkerhetsdomänen för källans HSM.
- Minst kvorumantal privata nycklar som användes för att kryptera säkerhetsdomänen.
Kommandot az keyvault security-domain restore-blob
utför följande åtgärder:
- Dekryptera HSM-källsäkerhetsdomänen med de privata nycklar som du anger.
- Skapa en Security Domain Upload-blob som krypterats med den Exchange-nyckel för säkerhetsdomäner som vi laddade ned i föregående steg
Det här steget kan utföras offline.
I följande exempel använder vi säkerhetsdomänen från ContosoMHSM, 3 av motsvarande privata nycklar och Security Domain Exchange-nyckeln för att skapa och ladda ned en krypterad blob som vi ska använda för att ladda upp till ContosoMHSM2, som väntar på att få en säkerhetsdomän.
az keyvault security-domain restore-blob --sd-exchange-key ContosoMHSM2-SDE.cer --sd-file ContosoMHSM-SD.json --sd-wrapping-keys cert_0.key cert_1.key cert_2.key --sd-file-restore-blob restore_blob.json
Upload Security Domain Upload blob to destination HSM
Nu använder vi bloben Security Domain Upload som skapades i föregående steg och överför den till mål-HSM för att slutföra återställningen av säkerhetsdomänen. Flaggan --restore-blob
används för att förhindra att nycklar exponeras i en onlinemiljö.
az keyvault security-domain upload --hsm-name ContosoMHSM2 --sd-file restore_blob.json --restore-blob
Nu har både käll-HSM (ContosoMHSM) och målet HSM (ContosoMHSM2) samma säkerhetsdomän. Nu kan vi återställa en fullständig säkerhetskopia från HSM-källan till mål-HSM.
Säkerhetskopiering och återställning
Det är alltid en bra idé att göra en fullständig säkerhetskopia innan du kör en fullständig HSM-återställning, så att du har en återställningspunkt om något skulle gå fel med återställningen. Du kan göra detta med någon av två metoder: användartilldelad hanterad identitet eller SAS-token.
Skapa en säkerhetskopia (som en återställningspunkt) av din nya HSM
Om du vill skapa en HSM-säkerhetskopia behöver du:
- Ett lagringskonto där säkerhetskopian lagras
- En bloblagringscontainer i det här lagringskontot där säkerhetskopieringsprocessen skapar en ny mapp för lagring av krypterad säkerhetskopiering
- En användartilldelad hanterad identitet som har rollen Storage Blob Data Contributor på lagringskontot eller lagringscontainerns SAS-token med behörigheterna "crdw"
Vi använder kommandot az keyvault backup till HSM-säkerhetskopieringen i lagringscontainern mhsmbackupcontainer, som finns i lagringskontot mhsmdemobackup i följande exempel.
Om du använder den användartilldelade metoden för hanterad identitet anger vi den användartilldelade hanterade identiteten med parametern och associerar den --mi-user-assigned
med Managed HSM innan du skriver säkerhetskopian i exemplet nedan.
az keyvault update-hsm --hsm-name ContosoMHSM2 --mi-user-assigned "/subscriptions/subid/resourcegroups/mhsmrgname/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userassignedidentityname"
az keyvault backup start --use-managed-identity true --hsm-name ContosoMHSM2 --storage-account-name mhsmdemobackup --blob-container-name mhsmbackupcontainer
Återställa säkerhetskopiering från HSM-källan
För det här steget behöver du:
- Lagringskontot och blobcontainern där HSM-källsäkerhetskopiorna lagras.
- Mappnamnet där du vill återställa säkerhetskopian. Om du skapar regelbundna säkerhetskopior finns det många mappar i den här containern.
Vi använder kommandot az keyvault restore till det nya HSM ContosoMHSM2 med hjälp av säkerhetskopieringen av den MHSM-källa som vi försöker återställa, som finns i mappnamnet mhsm-ContosoMHSM-2020083120161860 som finns i lagringscontainern mhsmdemobackupcontainer för lagringskontot ContosoBackup i följande exempel.
Om du använder den användartilldelade metoden för hanterad identitet anger --use-managed-identity
vi pramatern till "true".
az keyvault restore start --hsm-name ContosoMHSM2 --storage-account-name ContosoBackup --blob-container-name mhsmdemobackupcontainer --backup-folder mhsm-ContosoMHSM-2020083120161860 --use-managed-identity true
Nu har du slutfört en fullständig haveriberedskapsprocess. Innehållet i HSM-källan när säkerhetskopieringen gjordes kopieras till målets HSM, inklusive alla nycklar, versioner, attribut, taggar och rolltilldelningar.
Nästa steg
- Läs mer om säkerhetsdomänen i Om hanterad HSM-säkerhetsdomän
- Följ metodtipsen för Hanterad HSM