Konfigurera kryptering med kundhanterade nycklar som lagras i Azure Key Vault Managed HSM
Azure Storage krypterar alla data i ett lagringskonto i vila. Som standard krypteras data med Microsoft-hanterade nycklar. Om du vill ha ytterligare kontroll över krypteringsnycklar kan du hantera dina egna nycklar. Kundhanterade nycklar måste lagras i Azure Key Vault eller Key Vault Managed Hardware Security Model (HSM). En Hanterad HSM för Azure Key Vault är en FIPS 140-2 Level 3-verifierad HSM.
Den här artikeln visar hur du konfigurerar kryptering med kundhanterade nycklar som lagras i en hanterad HSM med hjälp av Azure CLI. Information om hur du konfigurerar kryptering med kundhanterade nycklar som lagras i ett nyckelvalv finns i Konfigurera kryptering med kundhanterade nycklar som lagras i Azure Key Vault.
Kommentar
Azure Key Vault och Azure Key Vault Managed HSM har stöd för samma API:er och hanteringsgränssnitt för konfiguration.
Tilldela en identitet till lagringskontot
Tilldela först en systemtilldelad hanterad identitet till lagringskontot. Du använder den här hanterade identiteten för att ge lagringskontot behörighet att komma åt den hanterade HSM:en. Mer information om systemtilldelade hanterade identiteter finns i Vad är hanterade identiteter för Azure-resurser?.
Om du vill tilldela en hanterad identitet med Azure CLI anropar du az storage account update. Kom ihåg att ersätta platshållarvärdena inom hakparenteser med dina egna värden:
az storage account update \
--name <storage-account> \
--resource-group <resource_group> \
--assign-identity
Tilldela en roll till lagringskontot för åtkomst till den hanterade HSM
Tilldela sedan rollen Hanterad HSM-krypteringskrypteringsanvändare till lagringskontots hanterade identitet så att lagringskontot har behörighet till den hanterade HSM:en. Microsoft rekommenderar att du omfångsbegränsar rolltilldelningen till nivån för den enskilda nyckeln för att ge minsta möjliga behörighet till den hanterade identiteten.
Om du vill skapa rolltilldelningen för lagringskontot anropar du az key vault role assignment create. Kom ihåg att ersätta platshållarvärdena inom hakparenteser med dina egna värden.
storage_account_principal = $(az storage account show \
--name <storage-account> \
--resource-group <resource-group> \
--query identity.principalId \
--output tsv)
az keyvault role assignment create \
--hsm-name <hsm-name> \
--role "Managed HSM Crypto Service Encryption User" \
--assignee $storage_account_principal \
--scope /keys/<key-name>
Konfigurera kryptering med en nyckel i den hanterade HSM
Konfigurera slutligen Azure Storage-kryptering med kundhanterade nycklar för att använda en nyckel som lagras i den hanterade HSM:en. Nyckeltyper som stöds är RSA-HSM-nycklar i storlekarna 2048, 3072 och 4096. Information om hur du skapar en nyckel i en hanterad HSM finns i Skapa en HSM-nyckel.
Installera Azure CLI 2.12.0 eller senare för att konfigurera kryptering för att använda en kundhanterad nyckel i en hanterad HSM. Mer information finns i Installera Azure CLI.
Om du vill uppdatera nyckelversionen automatiskt för en kundhanterad nyckel utelämnar du nyckelversionen när du konfigurerar kryptering med kundhanterade nycklar för lagringskontot. Mer information om hur du konfigurerar kryptering för automatisk nyckelrotation finns i Uppdatera nyckelversionen.
Anropa sedan az storage account update för att uppdatera lagringskontots krypteringsinställningar, som du ser i följande exempel. --encryption-key-source parameter
Inkludera och ange den till Microsoft.Keyvault
för att aktivera kundhanterade nycklar för kontot. Kom ihåg att ersätta platshållarvärdena inom hakparenteser med dina egna värden.
hsmurl = $(az keyvault show \
--hsm-name <hsm-name> \
--query properties.hsmUri \
--output tsv)
az storage account update \
--name <storage-account> \
--resource-group <resource_group> \
--encryption-key-name <key> \
--encryption-key-source Microsoft.Keyvault \
--encryption-key-vault $hsmurl
Om du vill uppdatera versionen för en kundhanterad nyckel manuellt tar du med nyckelversionen när du konfigurerar kryptering för lagringskontot:
az storage account update
--name <storage-account> \
--resource-group <resource_group> \
--encryption-key-name <key> \
--encryption-key-version $key_version \
--encryption-key-source Microsoft.Keyvault \
--encryption-key-vault $hsmurl
När du uppdaterar nyckelversionen manuellt måste du uppdatera lagringskontots krypteringsinställningar för att använda den nya versionen. Börja med att fråga efter nyckelvalvets URI genom att anropa az keyvault show och för nyckelversionen genom att anropa az keyvault key list-versions. Anropa sedan az storage account update för att uppdatera lagringskontots krypteringsinställningar för att använda den nya versionen av nyckeln, som du ser i föregående exempel.