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

O Azure Storage utiliza encriptação do lado do serviço (SSE) para encriptar automaticamente os seus dados quando estes são persistidos na nuvem. A encriptação do Azure Storage protege os seus dados e ajuda-o a cumprir os seus compromissos de segurança organizacional e de conformidade.

Microsoft recomenda a utilização de encriptação do lado do serviço para proteger os seus dados para a maioria dos cenários. No entanto, as bibliotecas de clientes do Azure Storage para o Blob Storage e o Armazenamento de Filas também fornecem encriptação do lado do cliente para clientes que precisam de encriptar dados sobre o cliente. Para obter mais informações, consulte a encriptação do lado do Cliente para obter bolhas e filas.

Sobre a encriptação do lado do serviço de armazenamento Azure

Os dados em Azure Storage são encriptados e desencriptados de forma transparente utilizando encriptação AES de 256 bits, uma das cifras de blocos mais fortes disponíveis, e é compatível com FIPS 140-2. A encriptação de armazenamento Azure é semelhante à encriptação BitLocker no Windows.

A encriptação de armazenamento Azure está ativada para todas as contas de armazenamento, incluindo Resource Manager e contas de armazenamento clássicas. A encriptação de armazenamento Azure não pode ser desativada. Como os seus dados são protegidos por padrão, não precisa de modificar o seu código ou aplicações para aproveitar a encriptação do Azure Storage.

Os dados numa conta de armazenamento são encriptados independentemente do nível de desempenho (standard ou premium), do nível de acesso (quente ou fresco) ou do modelo de implementação (Azure Resource Manager ou clássico). Todas as bolhas no nível de arquivo também estão encriptadas. Todas as opções de redundância de armazenamento Azure suportam encriptação, e todos os dados nas regiões primária e secundária são encriptados quando a geo-replicação está ativada. Todos os recursos de Armazenamento Azure são encriptados, incluindo bolhas, discos, ficheiros, filas e tabelas. Todos os metadados de objetos também estão encriptados. Não há custo adicional para a encriptação do Armazenamento Azure.

Cada blob de bloco, blob de apêndice ou blob de página que foi escrito para Azure Storage depois de 20 de outubro de 2017 é encriptado. As manchas criadas antes desta data continuam a ser encriptadas por um processo de fundo. Para forçar a encriptação de uma bolha que foi criada antes de 20 de outubro de 2017, você pode reescrever a bolha. Para saber como verificar o estado de encriptação de uma bolha, consulte verifique o estado de encriptação de uma bolha.

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

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

Sobre a gestão de chaves de encriptação

Os dados de uma nova conta de armazenamento são encriptados com chaves geridas por Microsoft por padrão. Pode continuar a confiar em chaves geridas 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 chave, ou ambos:

  • Pode especificar uma chave gerida pelo cliente para encriptar e desencriptar dados no Blob Storage e em Ficheiros do Azure. 1,2 As chaves geridas pelo cliente devem 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 as chaves geridas pelo cliente, consulte utilize as chaves geridas pelo cliente para encriptação de armazenamento Azure.
  • Pode especificar uma chave fornecida pelo cliente nas operações de Armazenamento Blob. Um cliente que faça um pedido de leitura ou escrita contra o Blob Storage pode incluir uma chave de encriptação no pedido de controlo granular sobre como os dados blob são encriptados e desencriptados. Para obter mais informações sobre as chaves fornecidas pelo cliente, consulte fornecer uma chave de encriptação sobre um pedido para o Blob Storage.

Por padrão, uma conta de armazenamento é encriptada com uma chave que é telescópio em toda a conta de armazenamento. Os âmbitos de encriptação permitem-lhe gerir a encriptação com uma chave que é traçada para um recipiente ou uma bolha individual. Pode utilizar âmbitos de encriptação para criar limites seguros entre dados que residem na mesma conta de armazenamento, mas que pertencem a diferentes clientes. Os âmbitos de encriptação podem utilizar chaves geridas por Microsoft ou chaves geridas pelo cliente. Para obter mais informações sobre os âmbitos de encriptação, consulte os âmbitos de encriptação para armazenamento blob.

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

Parâmetro de gestão chave 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 Azure apoiados Todos Blob Storage, Ficheiros do Azure 1,2 Armazenamento de Blobs
Armazenamento de chaves Microsoft loja-chave Azure Key Vault ou Key Vault HSM Loja chave do próprio cliente
Responsabilidade de rotação chave Microsoft Cliente Cliente
Controlo de chaves Microsoft Cliente Cliente
Âmbito-chave Conta (predefinição), contentor ou bolha Conta (predefinição), contentor ou bolha N/D

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

Nota

as chaves geridas Microsoft são giradas adequadamente de acordo com os requisitos de conformidade. Se tiver requisitos específicos de rotação de chaves, Microsoft recomenda que se mude para chaves geridas pelo cliente para que possa gerir e auditar a rotação por si mesmo.

Criptografe duplamente os dados com encriptação da infraestrutura

Os clientes que necessitam de elevados níveis de garantia de que os seus dados são seguros também podem permitir uma encriptação AES de 256 bits ao nível da infraestrutura de armazenamento Azure. Quando a encriptação da infraestrutura é 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 teclas diferentes. A dupla encriptação dos dados do Azure Storage protege contra um cenário em que um dos algoritmos ou chaves de encriptação pode estar 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 por Microsoft ou chaves geridas pelo cliente com Key Vault Azure. A encriptação ao nível da infraestrutura baseia-se em chaves geridas por Microsoft e usa sempre uma chave separada.

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

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

O Armazenamento de Blobs do Azure bibliotecas de clientes para .NET, Java e Python suportam encriptar dados dentro das aplicações do cliente antes de fazer o upload para o Azure Storage e desencriptar dados enquanto descarrega para o cliente. As bibliotecas de clientes de Armazenamento de Fila para .NET e Python também suportam encriptação do lado do cliente.

Nota

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

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

  • A versão 2 utiliza o modo Galois/Modo contador (GCM) com AES. Os SDKs de armazenamento de blob e de armazenamento de fila suportam a encriptação do lado do cliente com v2.
  • A versão 1 utiliza o modo de corrente de bloco cifra (CBC) com AES. Os Blob Storage, Queue Storage e Table Storage SDKs suportam encriptação do lado do cliente com v1.

Aviso

A utilização de v1 de encriptação do lado do cliente já não é recomendada devido a uma vulnerabilidade de segurança na implementação do modo CBC da biblioteca do cliente. Para obter mais informações sobre esta vulnerabilidade de segurança, consulte o Azure Storage atualizando a encriptação do lado do cliente em SDK para resolver a vulnerabilidade de segurança. Se estiver a utilizar o V1, recomendamos que atualize a sua aplicação para utilizar a encriptação do lado do cliente v2 e migrar os seus dados.

O Azure Table Storage SDK suporta apenas a encriptação do lado do cliente v1. Não é recomendada a utilização de encriptação do lado do cliente com o Armazenamento de Mesa.

A tabela que se segue mostra quais as bibliotecas de clientes que suportam quais as versões de encriptação do lado do cliente e fornece orientações 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 clientes Blob Storage para .NET (versão 12.13.0 ou superior), Java (versão 12.18.0 ou superior) e Python (versão 12.13.0 ou superior) 2.0

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

Faça o download de quaisquer dados encriptados para desencriptar e, em seguida, reencripá-lo com encriptação do lado do cliente v2.
Encriptação do lado do cliente para bolhas
Biblioteca cliente blob Storage 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 sua aplicação para utilizar uma versão do Blob Storage SDK que suporta encriptação do lado do cliente v2. Consulte a matriz de suporte SDK para encriptação do lado do cliente para obter detalhes.

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

Faça o download de quaisquer dados encriptados para desencriptar e, em seguida, reencripá-lo com encriptação do lado do cliente v2.
Encriptação do lado do cliente para bolhas
Biblioteca cliente de armazenamento de fila 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 seu código para utilizar a encriptação do lado do cliente v2. Encriptação do lado do cliente para filas
Biblioteca cliente de armazenamento de fila 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 sua aplicação para utilizar uma versão da versão SDK de armazenamento de fila que suporta a encriptação do lado do cliente v2. Consulte a matriz de suporte SDK para encriptação do lado do cliente

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

Passos seguintes