Encriptação de dados no Azure Data Lake Storage Gen1

A encriptação no Azure Data Lake Storage Gen1 ajuda-o a proteger os seus dados, a implementar políticas de segurança empresarial e a cumprir os requisitos de conformidade regulamentar. Este artigo apresenta uma descrição geral da estrutura e descreve alguns dos aspetos técnicos da implementação.

Data Lake Storage Gen1 suporta a encriptação de dados inativos e em trânsito. Para dados inativos, Data Lake Storage Gen1 suporta encriptação transparente "ativada por predefinição". Eis o que cada um destes termos significa em maior detalhe:

  • Ativado por predefinição: quando cria uma nova conta Data Lake Storage Gen1, a predefinição ativa a encriptação. Posteriormente, os dados armazenados no Data Lake Storage Gen1 são sempre encriptados antes de serem armazenados em suportes de dados persistentes. Este é o comportamento para todos os dados e não pode ser alterado depois de uma conta ser criada.
  • Transparente: Data Lake Storage Gen1 encripta automaticamente os dados antes de persistir e desencripta os dados antes da obtenção. A encriptação é configurada e gerida ao nível da conta Data Lake Storage Gen1 por um administrador. Não são feitas alterações às APIs de acesso aos dados. Assim, não são necessárias alterações em aplicações e serviços que interajam com Data Lake Storage Gen1 devido à encriptação.

Os dados em trânsito (também conhecidos como dados em movimento) também são sempre encriptados em Data Lake Storage Gen1. Para além de encriptar os dados antes de serem armazenados em suportes de dados persistentes, os dados também são sempre protegidos em trânsito com HTTPS. HTTPS é o único protocolo suportado para as interfaces REST Data Lake Storage Gen1. O diagrama seguinte mostra como os dados são encriptados no Data Lake Storage Gen1:

Diagrama de encriptação de dados no Data Lake Storage Gen1

Configurar a encriptação com Data Lake Storage Gen1

A encriptação para Data Lake Storage Gen1 é configurada durante a criação da conta e está sempre ativada por predefinição. Pode gerir as chaves por si próprio ou permitir Data Lake Storage Gen1 geri-las por si (esta é a predefinição).

Para obter mais informações, veja o artigo Introdução.

Como funciona a encriptação no Data Lake Storage Gen1

As seguintes informações abrangem como gerir chaves de encriptação mestras e explicam os três tipos diferentes de chaves que pode utilizar na encriptação de dados para Data Lake Storage Gen1.

Chaves de encriptação mestras

Data Lake Storage Gen1 fornece dois modos de gestão de chaves de encriptação mestras (MEKs). Por agora, vamos supor que a chave de encriptação mestra é a chave de nível superior. O acesso à chave de encriptação mestra é necessário para desencriptar quaisquer dados armazenados no Data Lake Storage Gen1.

Os dois modos para gerir a chave de encriptação mestra são os seguintes:

  • Chaves geridas por serviços
  • Chaves geridas pelo cliente

Em ambos os modos, a chave de encriptação mestra é protegida mediante armazenamento no Azure Key Vault. O Key Vault é um serviço totalmente gerido e altamente seguro do Azure, que pode ser utilizado para salvaguardar chaves criptográficas. Para obter mais informações, veja Key Vault.

Segue-se uma breve comparação das capacidades proporcionadas pelos dois modos de gestão de MEKs.

Pergunta Chaves geridas por serviços Chaves geridas pelo cliente
Como são armazenados os dados? São sempre encriptados antes de serem armazenados. São sempre encriptados antes de serem armazenados.
Onde é armazenada a Chave de Encriptação Mestra? Key Vault Key Vault
As chaves de encriptação são armazenadas de forma desprotegida, fora do Key Vault? No No
É possível obter a MEK a partir do Key Vault? N.º Depois de a MEK ser armazenada no Key Vault, só pode ser utilizada para encriptação e desencriptação. N.º Depois de a MEK ser armazenada no Key Vault, só pode ser utilizada para encriptação e desencriptação.
Quem é o proprietário da instância do Key Vault e da MEK? O serviço Data Lake Storage Gen1 O utilizador é o proprietário da instância do Key Vault, que pertence à sua própria subscrição do Azure. A MEK no Key Vault pode ser gerida por software ou hardware.
Pode revogar o acesso ao MEK do serviço Data Lake Storage Gen1? Não Yes. Pode gerir listas de controlo de acesso no Key Vault e remover entradas de controlo de acesso à identidade de serviço do serviço Data Lake Storage Gen1.
Pode eliminar permanentemente a MEK? Não Yes. Se eliminar o MEK de Key Vault, os dados na conta Data Lake Storage Gen1 não podem ser desencriptados por ninguém, incluindo o serviço Data Lake Storage Gen1.

Se tiver criado explicitamente uma cópia de segurança da MEK antes de a eliminar do Key Vault, a MEK pode ser restaurada e os dados recuperados. No entanto, se não tiver efetuado uma cópia de segurança do MEK antes de o eliminar do Key Vault, os dados na conta Data Lake Storage Gen1 nunca mais poderão ser desencriptados.

Para além desta diferença, ou seja, de quem gere a MEK e a instância do Key Vault onde esta reside, o resto do design é igual em ambos os modos.

É importante não esquecer o seguinte quando escolher o modo para as chaves de encriptação mestras:

  • Pode escolher se pretende utilizar chaves geridas pelo cliente ou chaves geridas pelo serviço quando aprovisiona uma conta Data Lake Storage Gen1.
  • Depois de aprovisionar uma conta Data Lake Storage Gen1, o modo não pode ser alterado.

Encriptação e desencriptação de dados

São utilizados três tipos de chaves no design da encriptação de dados. A tabela seguinte fornece um resumo:

Chave Abreviatura Associada a Localização do armazenamento Tipo Notas
Chave de Encriptação Mestra MEK Uma conta Data Lake Storage Gen1 Key Vault Assimétrica Pode ser gerido por Data Lake Storage Gen1 ou por si.
Chave de Encriptação de Dados DEK Uma conta Data Lake Storage Gen1 Armazenamento persistente, gerido pelo serviço Data Lake Storage Gen1 Simétrica O DEK é encriptado pela MEK. O DEK encriptado é o que é armazenado no suporte de dados persistente.
Chave de Encriptação de Blocos BEK Um bloco de dados Nenhuma Simétrica A BEK é obtida a partir da DEK e do bloco de dados.

O diagrama seguinte ilustra estes conceitos:

Chaves na encriptação de dados

Pseudo-algoritmo quando um ficheiro vai ser desencriptado:

  1. Verifique se o DEK da conta Data Lake Storage Gen1 está em cache e pronto para ser utilizado.
    • Se não for esse o caso, leia a DEK encriptada a partir do armazenamento persistente e envie-a para o Key Vault, para ser desencriptada. Coloque a DEK desencriptada em cache na memória. Está agora pronta para ser utilizada.
  2. Relativamente a cada bloco de dados no ficheiro:
    • Leia o bloco de dados encriptado no armazenamento persistente.
    • Gere a BEK a partir da DEK e do bloco de dados encriptado.
    • Utilize a BEK para desencriptar os dados.

Pseudo-algoritmo quando vai ser encriptado um bloco de dados:

  1. Verifique se o DEK da conta Data Lake Storage Gen1 está em cache e pronto para ser utilizado.
    • Se não for esse o caso, leia a DEK encriptada a partir do armazenamento persistente e envie-a para o Key Vault, para ser desencriptada. Coloque a DEK desencriptada em cache na memória. Está agora pronta para ser utilizada.
  2. Gere uma BEK exclusivo para o bloco de dados a partir da DEK.
  3. Utilize a encriptação AES-256 para encriptar o bloco de dados com a BEK.
  4. Armazene o bloco de dados encriptado no armazenamento persistente.

Nota

O DEK é sempre armazenado de forma encriptada pelo MEK, no suporte de dados persistente ou colocado em cache na memória.

Rotação de chaves

Quando estiver a utilizar chaves geridas pelo cliente, pode rodar a MEK. Para saber como configurar uma conta Data Lake Storage Gen1 com chaves geridas pelo cliente, veja Introdução.

Pré-requisitos

Ao configurar a conta Data Lake Storage Gen1, optou por utilizar as suas próprias chaves. Esta opção não pode ser alterada depois de a conta ter sido criada Os passos seguintes partem do princípio de que está a utilizar chaves geridas pelo cliente (ou seja, que escolheu as suas próprias chaves a partir do Key Vault).

Tenha em atenção que, se utilizar as opções predefinidas para encriptação, os seus dados são sempre encriptados através de chaves geridas por Data Lake Storage Gen1. Nesta opção, não tem a capacidade de rodar chaves, uma vez que são geridas por Data Lake Storage Gen1.

Como rodar o MEK no Data Lake Storage Gen1

  1. Inicie sessão no portal do Azure.

  2. Navegue para a instância Key Vault que armazena as chaves associadas à sua conta Data Lake Storage Gen1. Selecione Chaves.

    Captura de ecrã do Key Vault

  3. Selecione a chave associada à sua conta Data Lake Storage Gen1 e crie uma nova versão desta chave. Tenha em atenção que Data Lake Storage Gen1 atualmente só suporta a rotação de chaves para uma nova versão de uma chave. Não suporta a rotação para uma chave diferente.

    Captura de ecrã da janela Chaves, com a opção Nova Versão realçada

  4. Navegue para a conta Data Lake Storage Gen1 e selecione Encriptação.

    Captura de ecrã da janela Data Lake Storage Gen1 conta, com a Encriptação realçada

  5. Verá uma mensagem a informar de que está disponível uma versão nova da chave. Clique em Rodar Chave para atualizar a chave para a versão nova.

    Captura de ecrã da janela Data Lake Storage Gen1 com a mensagem e a Tecla Rotativa realçadas

Esta operação deve demorar menos de dois minutos e não se prevê qualquer período de indisponibilidade durante a rotação de chaves. Depois de a operação estar concluída, a versão nova da chave estará em uso.

Importante

Após a conclusão da operação de rotação de chaves, a versão antiga da chave já não é utilizada ativamente para encriptar novos dados. No entanto, podem existir casos em que o acesso a dados mais antigos pode necessitar da chave antiga. Para permitir a leitura desses dados mais antigos, não elimine a chave antiga