Configure a encriptação com chaves geridas pelo cliente armazenadas no Azure Key Vault Managed HSM

A Azure Armazenamento encripta todos os dados numa conta de armazenamento em repouso. Por predefinição, os dados são encriptados com as teclas geridas pela Microsoft. Para controlo adicional sobre as chaves de encriptação, pode gerir as suas próprias chaves. As chaves geridas pelo cliente devem ser armazenadas no Azure Key Vault ou Key Vault Modelo de Segurança de Hardware Gerido (HSM). Um HSM gerido Key Vault Azure é um HSM validado fips 140-2 Nível 3.

Este artigo mostra como configurar a encriptação com chaves geridas pelo cliente armazenadas num HSM gerido utilizando o Azure CLI. Para aprender a configurar a encriptação com chaves geridas pelo cliente armazenadas num cofre de chaves, consulte a encriptação Configure com teclas geridas pelo cliente armazenadas em Azure Key Vault.

Nota

Azure Key Vault e Azure Key Vault O HSM gerido suporta as mesmas APIs e interfaces de gestão para configuração.

Atribuir uma identidade à conta de armazenamento

Primeiro, atribua uma identidade gerida atribuída ao sistema para a conta de armazenamento. Você usará esta identidade gerida para conceder as permissões da conta de armazenamento para aceder ao HSM gerido. Para obter mais informações sobre identidades geridas atribuídas pelo sistema, veja o que são identidades geridas para os recursos do Azure?.

Para atribuir uma identidade gerida usando o Azure CLI, ligue para a atualização da conta de armazenamento Az. Lembre-se de substituir os valores de espaço reservado nos parênteses pelos seus próprios valores:

az storage account update \
    --name <storage-account> \
    --resource-group <resource_group> \
    --assign-identity

Atribuir uma função à conta de armazenamento para acesso ao HSM gerido

Em seguida, atribua a função de Utilizador de Encriptação de Serviço Cripto gerido do HSM para a identidade gerida da conta de armazenamento para que a conta de armazenamento tenha permissões para o HSM gerido. A Microsoft recomenda que este se estencie a atribuição de funções ao nível da chave individual, de modo a conceder o menor número possível de privilégios à identidade gerida.

Para criar a atribuição de funções para a conta de armazenamento, chame a az key vault role assignment create. Lembre-se de substituir os valores do espaço reservado nos parênteses pelos seus próprios valores.

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>

Configurar encriptação com uma chave no HSM gerido

Finalmente, configurar a Azure Armazenamento encriptação com chaves geridas pelo cliente para utilizar uma chave armazenada no HSM gerido. Os tipos de chaves suportados incluem chaves RSA-HSM dos tamanhos 2048, 3072 e 4096. Para aprender a criar uma chave num HSM gerido, consulte Criar uma chave HSM.

Instale o Azure CLI 2.12.0 ou posteriormente para configurar a encriptação para utilizar uma chave gerida pelo cliente num HSM gerido pelo cliente. Para mais informações, consulte instalar o Azure CLI.

Para atualizar automaticamente a versão chave para uma chave gerida pelo cliente, omita a versão chave quando configurar a encriptação com as chaves geridas pelo cliente para a conta de armazenamento. Para obter mais informações sobre a configuração da encriptação para a rotação automática da chave, consulte atualizar a versão chave.

Em seguida, ligue para a atualização da conta de armazenamento AZ para atualizar as definições de encriptação da conta de armazenamento, como mostrado no exemplo seguinte. Inclua-o --encryption-key-source parameter e desa cotado para Microsoft.Keyvault ativar as chaves geridas pelo cliente para a conta. Lembre-se de substituir os valores do espaço reservado nos parênteses pelos seus próprios valores.

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

Para atualizar manualmente a versão para uma chave gerida pelo cliente, inclua a versão chave quando configurar a encriptação para a conta de armazenamento:

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

Quando atualizar manualmente a versão chave, terá de atualizar as definições de encriptação da conta de armazenamento para utilizar a nova versão. Em primeiro lugar, consulta para o cofre-chave URI chamando az keyvault show, e para a versão chave chamando a az keyvault versões de lista-chave. Em seguida, ligue para a atualização da conta de armazenamento AZ para atualizar as definições de encriptação da conta de armazenamento para usar a nova versão da chave, como mostrado no exemplo anterior.

Passos seguintes