Configurar a criptografia com chaves gerenciadas pelo cliente armazenadas no HSM gerenciado do Azure Key Vault
O Armazenamento do Azure criptografa todos os dados em uma conta de armazenamento em repouso. Por padrão, os dados são criptografados com chaves gerenciadas pela Microsoft. Para obter controle adicional sobre chaves de criptografia, você pode gerenciar suas próprias chaves. As chaves gerenciadas pelo cliente devem ser armazenadas no Azure Key Vault ou no Key Vault Managed Hardware Security Model (HSM). Um HSM gerenciado do Azure Key Vault é um HSM validado pelo FIPS 140-2 Nível 3.
Este artigo mostra como configurar a criptografia com chaves gerenciadas pelo cliente armazenadas em um HSM gerenciado usando a CLI do Azure. Para saber como configurar a criptografia com chaves gerenciadas pelo cliente armazenadas em um cofre de chaves, consulte Configurar a criptografia com chaves gerenciadas pelo cliente armazenadas no Cofre de Chaves do Azure.
Nota
O Azure Key Vault e o Azure Key Vault Managed HSM suportam as mesmas APIs e interfaces de gestão para configuração.
Atribuir uma identidade à conta de armazenamento
Primeiro, atribua uma identidade gerenciada atribuída pelo sistema à conta de armazenamento. Você usará essa identidade gerenciada para conceder permissões à conta de armazenamento para acessar o HSM gerenciado. Para obter mais informações sobre identidades gerenciadas atribuídas pelo sistema, consulte O que são identidades gerenciadas para recursos do Azure?.
Para atribuir uma identidade gerenciada usando a CLI do Azure, chame az storage account update. Lembre-se de substituir os valores de espaço reservado entre colchetes 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 gerenciado
Em seguida, atribua a função Usuário de Criptografia do Serviço de Criptografia do HSM Gerenciado à identidade gerenciada da conta de armazenamento para que a conta de armazenamento tenha permissões para o HSM gerenciado. A Microsoft recomenda que você defina o escopo da atribuição de função para o nível da chave individual para conceder o menor número possível de privilégios à identidade gerenciada.
Para criar a atribuição de função para a conta de armazenamento, chame az key vault role assignment create. Lembre-se de substituir os valores de espaço reservado entre colchetes 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 a criptografia com uma chave no HSM gerenciado
Por fim, configure a criptografia do Armazenamento do Azure com chaves gerenciadas pelo cliente para usar uma chave armazenada no HSM gerenciado. Os tipos de chave suportados incluem chaves RSA-HSM dos tamanhos 2048, 3072 e 4096. Para saber como criar uma chave em um HSM gerenciado, consulte Criar uma chave HSM.
Instale a CLI do Azure 2.12.0 ou posterior para configurar a criptografia para usar uma chave gerenciada pelo cliente em um HSM gerenciado. Para obter mais informações, consulte Instalar a CLI do Azure.
Para atualizar automaticamente a versão da chave para uma chave gerenciada pelo cliente, omita a versão da chave ao configurar a criptografia com chaves gerenciadas pelo cliente para a conta de armazenamento. Para obter mais informações sobre como configurar a criptografia para rotação automática de chaves, consulte Atualizar a versão da chave.
Em seguida, chame az storage account update para atualizar as configurações de criptografia da conta de armazenamento, conforme mostrado no exemplo a seguir. Inclua o --encryption-key-source parameter
e defina-o para Microsoft.Keyvault
habilitar chaves gerenciadas pelo cliente para a conta. Lembre-se de substituir os valores de espaço reservado entre colchetes 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 de uma chave gerenciada pelo cliente, inclua a versão da chave ao configurar a criptografia 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
Ao atualizar manualmente a versão da chave, você precisará atualizar as configurações de criptografia da conta de armazenamento para usar a nova versão. Primeiro, consulte o URI do cofre de chaves chamando az keyvault show e a versão da chave chamando az keyvault key list-versions. Em seguida, chame az storage account update para atualizar as configurações de criptografia da conta de armazenamento para usar a nova versão da chave, como mostrado no exemplo anterior.
Próximos passos
- Azure Storage encryption for data at rest (Encriptação do Armazenamento do Azure para dados inativos)
- Chaves geridas pelo cliente para a encriptação do Armazenamento do Azure