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

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

Este artigo mostra como configurar a encriptação com chaves geridas pelo cliente armazenadas num HSM gerido com a CLI do Azure. Para saber como configurar a encriptação com chaves geridas pelo cliente armazenadas num cofre de chaves, veja Configurar a encriptação com chaves geridas pelo cliente armazenadas no Azure Key Vault.

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 gerida atribuída pelo sistema à conta de armazenamento. Irá utilizar esta identidade gerida para conceder permissões à 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 recursos do Azure?.

Para atribuir uma identidade gerida com a CLI do Azure, chame az storage account update. Lembre-se de substituir os valores do marcador de posição entre 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 Utilizador de Encriptação de Serviço criptografo HSM Gerido à identidade gerida da conta de armazenamento para que a conta de armazenamento tenha permissões para o HSM gerido. A Microsoft recomenda que defina o âmbito da atribuição de função ao nível da chave individual para conceder o menor número possível de privilégios à identidade gerida.

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 do marcador de posição entre 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 a encriptação com uma chave no HSM gerido

Por fim, configure a encriptação do Armazenamento do Azure com chaves geridas pelo cliente para utilizar uma chave armazenada no HSM gerido. Os tipos de chaves suportados incluem chaves RSA-HSM de tamanhos 2048, 3072 e 4096. Para saber como criar uma chave num HSM gerido, veja Criar uma chave HSM.

Instale a CLI 2.12.0 do Azure ou posterior para configurar a encriptação para utilizar uma chave gerida pelo cliente num HSM gerido. Para obter mais informações, veja Instalar a CLI do Azure.

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

Em seguida, chame az storage account update para atualizar as definições de encriptação da conta de armazenamento, conforme mostrado no exemplo seguinte. Inclua o e defina-o --encryption-key-source parameter para Microsoft.Keyvault ativar as chaves geridas pelo cliente para a conta. Lembre-se de substituir os valores do marcador de posição entre 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 de uma chave gerida pelo cliente, inclua a versão da 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 da chave, terá de atualizar as definições de encriptação da conta de armazenamento para utilizar a nova versão. Primeiro, consulte o URI do cofre de chaves ao chamar az keyvault show e para a versão da chave ao chamar az keyvault key list-versions. Em seguida, chame az storage account update para atualizar as definições de encriptação da conta de armazenamento para utilizar a nova versão da chave, conforme mostrado no exemplo anterior.

Passos seguintes