Azure Storage encryption for data at rest (Encriptação do Armazenamento do Azure para dados inativos)

O Armazenamento do Azure utiliza a encriptação do lado do serviço (SSE) para encriptar automaticamente os seus dados quando são mantidos na cloud. A encriptação do Armazenamento do Microsoft Azure protege os seus dados e ajuda-o a cumprir os compromissos de conformidade e segurança da sua organização.

A Microsoft recomenda a utilização da encriptação do lado do serviço para proteger os seus dados na maioria dos cenários. No entanto, as bibliotecas de cliente do Armazenamento do Azure para Armazenamento de Blobs e Armazenamento de Filas também fornecem encriptação do lado do cliente para os clientes que precisam de encriptar dados no cliente. Para obter mais informações, veja Encriptação do lado do cliente para blobs e filas.

Acerca da encriptação do lado do serviço do Armazenamento do Azure

Os dados no Armazenamento do Azure são encriptados e desencriptados de forma transparente através da encriptação AES de 256 bits, uma das cifras de bloco mais fortes disponíveis e estão em conformidade com FIPS 140-2. A encriptação do Armazenamento do Azure é semelhante à encriptação BitLocker no Windows.

A encriptação do Armazenamento do Azure está ativada para todas as contas de armazenamento, incluindo contas de armazenamento Resource Manager e clássicas. Não é possível desativar a encriptação do Armazenamento do Azure. Uma vez que os seus dados estão protegidos por predefinição, não precisa de modificar o código ou as aplicações para tirar partido da encriptação do Armazenamento do Microsoft Azure.

Os dados numa conta de armazenamento são encriptados independentemente do escalão de desempenho (standard ou premium), da camada de acesso (frequente ou esporádico) ou do modelo de implementação (Azure Resource Manager ou clássico). Todos os blobs de blocos novos e existentes, blobs de acréscimo e blobs de páginas são encriptados, incluindo blobs na camada de arquivo. Todas as opções de redundância do Armazenamento do Azure suportam encriptação e todos os dados nas regiões primária e secundária são encriptados quando a georreplicação está ativada. Todos os recursos do Armazenamento do Azure são encriptados, incluindo blobs, discos, ficheiros, filas e tabelas. Todos os metadados de objeto também são encriptados.

Não existem custos adicionais para a encriptação do Armazenamento do Azure.

Para obter mais informações sobre os módulos criptográficos subjacentes à encriptação do Armazenamento do Azure, veja API de Criptografia: Próxima Geração.

Para obter informações sobre a encriptação e a gestão de chaves para discos geridos do Azure, veja Encriptação do lado do servidor dos discos geridos do Azure.

Acerca da gestão de chaves de encriptação

Por predefinição, os dados numa nova conta de armazenamento são encriptados com chaves geridas pela Microsoft. Pode continuar a depender de chaves geridas pela Microsoft para a encriptação dos seus dados ou pode gerir a encriptação com as suas próprias chaves. Se optar por gerir a encriptação com as suas próprias chaves, tem duas opções. Pode utilizar qualquer tipo de gestão de chaves ou ambos:

  • Pode especificar uma chave gerida pelo cliente para utilizar para encriptar e desencriptar dados no Armazenamento de Blobs e no Ficheiros do Azure. 1,2 Chaves geridas pelo cliente têm de ser armazenadas no Azure Key Vault ou no Azure Key Vault Modelo de Segurança de Hardware Gerido (HSM). Para obter mais informações sobre chaves geridas pelo cliente, veja Utilizar chaves geridas pelo cliente para encriptação do Armazenamento do Azure.
  • Pode especificar uma chave fornecida pelo cliente nas operações do Armazenamento de Blobs. Um cliente que faça um pedido de leitura ou escrita no Armazenamento de Blobs pode incluir uma chave de encriptação no pedido de controlo granular sobre a forma como os dados de blobs são encriptados e desencriptados. Para obter mais informações sobre as chaves fornecidas pelo cliente, veja Fornecer uma chave de encriptação num pedido ao Armazenamento de Blobs.

Por predefinição, uma conta de armazenamento é encriptada com uma chave que está confinada a toda a conta de armazenamento. Os âmbitos de encriptação permitem-lhe gerir a encriptação com uma chave que está confinada a um contentor ou a um blob individual. Pode utilizar âmbitos de encriptação para criar limites seguros entre dados que residem na mesma conta de armazenamento, mas que pertencem a clientes diferentes. Os âmbitos de encriptação podem utilizar chaves geridas pela Microsoft ou chaves geridas pelo cliente. Para obter mais informações sobre âmbitos de encriptação, veja Âmbitos de encriptação do armazenamento de Blobs.

A tabela seguinte compara as opções de gestão de chaves para a encriptação do Armazenamento do Azure.

Parâmetro de gestão de chaves Chaves geridas pela Microsoft Chaves geridas pelo cliente Chaves fornecidas pelo cliente
Operações de encriptação/desencriptação Azure Azure Azure
Serviços de Armazenamento do Azure suportados Todos Armazenamento de Blobs, Ficheiros do Azure 1,2 Armazenamento de Blobs
Armazenamento de chaves Arquivo de chaves da Microsoft Azure Key Vault ou HSM Key Vault Arquivo de chaves do próprio cliente
Responsabilidade de rotação de chaves Microsoft Cliente Cliente
Controlo de chave Microsoft Cliente Cliente
Âmbito da chave Conta (predefinição), contentor ou blob Conta (predefinição), contentor ou blob N/D

1 Para obter informações sobre como criar uma conta que suporte a utilização de chaves geridas pelo cliente com o Armazenamento de filas, consulte Criar uma conta que suporte chaves geridas pelo cliente para filas.
2 Para obter informações sobre como criar uma conta que suporte a utilização de chaves geridas pelo cliente com o Armazenamento de tabelas, consulte Criar uma conta que suporte chaves geridas pelo cliente para tabelas.

Nota

As chaves geridas pela Microsoft são rodadas adequadamente de acordo com os requisitos de conformidade. Se tiver requisitos específicos de rotação de chaves, a Microsoft recomenda que mude para as chaves geridas pelo cliente para que possa gerir e auditar a rotação manualmente.

Encriptar dados duplamente com encriptação de infraestrutura

Os clientes que necessitam de níveis elevados de garantia de que os seus dados são seguros também podem ativar a encriptação AES de 256 bits ao nível da infraestrutura do Armazenamento do Azure. Quando a encriptação de infraestrutura está ativada, os dados numa conta de armazenamento são encriptados duas vezes , uma ao nível do serviço e outra ao nível da infraestrutura, com dois algoritmos de encriptação diferentes e duas chaves diferentes. A encriptação dupla de dados do Armazenamento do Azure protege contra um cenário em que um dos algoritmos ou chaves de encriptação pode ser comprometido. Neste cenário, a camada adicional de encriptação continua a proteger os seus dados.

A encriptação ao nível do serviço suporta a utilização de chaves geridas pela Microsoft ou chaves geridas pelo cliente com o Azure Key Vault. A encriptação ao nível da infraestrutura depende de chaves geridas pela Microsoft e utiliza sempre uma chave separada.

Para obter mais informações sobre como criar uma conta de armazenamento que ativa a encriptação de infraestrutura, veja Criar uma conta de armazenamento com a encriptação de infraestrutura ativada para encriptação dupla de dados.

Encriptação do lado do cliente para blobs e filas

O Armazenamento de Blobs do Azure bibliotecas de cliente para .NET, Java e Python suportam a encriptação de dados em aplicações cliente antes de carregar para o Armazenamento do Azure e a desencriptação de dados durante a transferência para o cliente. As bibliotecas de cliente do Armazenamento de Filas para .NET e Python também suportam a encriptação do lado do cliente.

Nota

Considere utilizar as funcionalidades de encriptação do lado do serviço fornecidas pelo Armazenamento do Azure para proteger os seus dados, em vez da encriptação do lado do cliente.

As bibliotecas de cliente do Armazenamento de Blobs e do Armazenamento de Filas utilizam AES para encriptar os dados do utilizador. Existem duas versões de encriptação do lado do cliente disponíveis nas bibliotecas de cliente:

  • A versão 2 utiliza o modo Galois/Modo de Contador (GCM) com a AES. Os SDKs de Armazenamento de Blobs e Armazenamento de Filas suportam a encriptação do lado do cliente com v2.
  • A versão 1 utiliza o modo de Encadeamento de Blocos de Cifras (CBC) com a AES. Os SDKs de Armazenamento de Blobs, Armazenamento de Filas e Armazenamento de Tabelas suportam a encriptação do lado do cliente com v1.

Aviso

A utilização da encriptação do lado do cliente v1 já não é recomendada devido a uma vulnerabilidade de segurança na implementação do modo CBC da biblioteca de cliente. Para obter mais informações sobre esta vulnerabilidade de segurança, veja Azure Storage updating client-side encryption in SDK to address security vulnerability (Atualização da encriptação do lado do cliente do Armazenamento do Azure no SDK para resolver vulnerabilidades de segurança). Se estiver a utilizar atualmente a v1, recomendamos que atualize a sua aplicação para utilizar a encriptação do lado do cliente v2 e migrar os seus dados.

O SDK de Armazenamento de Tabelas do Azure suporta apenas encriptação do lado do cliente v1. Não é recomendado utilizar a encriptação do lado do cliente com o Armazenamento de Tabelas.

A tabela seguinte mostra que bibliotecas de cliente suportam as versões da encriptação do lado do cliente e fornece diretrizes para migrar para a encriptação do lado do cliente v2.

Biblioteca de cliente Versão da encriptação do lado do cliente suportada Migração recomendada Orientações adicionais
Bibliotecas de cliente do Armazenamento de Blobs para .NET (versão 12.13.0 e superior), Java (versão 12.18.0 e superior) e Python (versão 12.13.0 e superior) 2.0

1.0 (apenas para retrocompatibilidade)
Atualize o código para utilizar a encriptação do lado do cliente v2.

Transfira quaisquer dados encriptados para os desencriptar e, em seguida, volte a criptá-lo com encriptação do lado do cliente v2.
Encriptação do lado do cliente para blobs
Biblioteca de cliente do Armazenamento de Blobs para .NET (versão 12.12.0 e abaixo), Java (versão 12.17.0 e abaixo) e Python (versão 12.12.0 e abaixo) 1.0 (não recomendado) Atualize a aplicação para utilizar uma versão do SDK de Armazenamento de Blobs que suporte encriptação do lado do cliente v2. Veja Matriz de suporte do SDK para encriptação do lado do cliente para obter detalhes.

Atualize o código para utilizar a encriptação do lado do cliente v2.

Transfira quaisquer dados encriptados para os desencriptar e, em seguida, volte a criptá-lo com encriptação do lado do cliente v2.
Encriptação do lado do cliente para blobs
Biblioteca de cliente de Armazenamento de Filas para .NET (versão 12.11.0 e superior) e Python (versão 12.4 e superior) 2.0

1.0 (apenas para retrocompatibilidade)
Atualize o código para utilizar a encriptação do lado do cliente v2. Encriptação do lado do cliente para filas
Biblioteca de cliente de Armazenamento de Filas para .NET (versão 12.10.0 e abaixo) e Python (versão 12.3.0 e abaixo) 1.0 (não recomendado) Atualize a aplicação para utilizar uma versão da versão do SDK de Armazenamento de Filas que suporte a encriptação do lado do cliente v2. Veja Matriz de suporte do SDK para encriptação do lado do cliente

Atualize o código para utilizar a encriptação do lado do cliente v2.
Encriptação do lado do cliente para filas
Biblioteca de cliente do Armazenamento de Tabelas para .NET, Java e Python 1.0 (não recomendado) Não disponível. N/D

Passos seguintes