Diferente do que ocorre na versão on-premises, na plataforma cloud da Microsoft, o banco de dados , já vem com o transparent encryption nativo bastando sua ativação; Seja ela manual (T-SQL) ou no portal de gerenciamento do Azure.
A D.E.K é protegida por um certificado de servidor interno e cada servidor possui o seu algoritmo particular sendo criptografado por uma chave simétrica com o padrão AES_256
Bancos com geo-replicação também são protegidos, sendo o ‘filho’ protegido pela chave do banco pai, ou, banco de origem.
O interessante é que a chave de certificado é protegida e gerida pela própria Microsoft, porém, no portal do Azure, podemos escolher entre deixar pela fornecedora ou gerenciar manualmente.
Exportações e importações de bancos de dados não são criptografados de forma automática, independente do caminho, é preciso ativar o T.D.E manualmente.
É possível criptografar e descriptografar um banco no portal azure. Acesse o banco desejado, vá na opção de segurança e siga a imagem abaixo.
Para gerenciar as chaves de criptografia no serviço de nuvem de banco, deve ser feito a nível servidor e será distribuído para todos os bancos aqui localizados.
Depois, vá no mesmo setor de segurança e procure o T.D.E e lá escolha se quer gerenciar a chave manualmente, podendo até importar as suas chaves que estão em servidores locais ou se prefere deixar pro serviço gerenciar as chaves.
Por padrão, já está sendo gerenciada pela própria Microsoft. O que eu recomendo.
GERENCIADO A CHAVE MANUALMENTE
Como estamos aqui pra aprender, vamos tentar gerenciar manualmente as chaves do Azure SQL para encriptação.
Primeiro vamos criar um cofre acessando o link abaixo ‘alterar o cofre de chaves’
Em políticas de acesso adicione o usuário administrador do AzureAD que você criou e após, libere todas as permissões de chaves na política de acesso.
Nesta parte, libere todas as políticas de acesso e quando finalizar, dê OK e crie seu Azure Key Vault.
Agora é hora de criar uma chave, uma vez que já possuímos o nosso cofre personalizado.
Abaixo do Key_vault, selecione ‘selecionar uma chave’, escolha as configurações que melhor lhe atendem e finalize o processo
E possível criar quantas chaves quiser e é bom até para a rotação de chaves.
No Azure Data Studio, a única forma de implementar o T.D.E. por linha de comando é como mostra a imagem abaixo. Reparem que não muda em nada com relação ao SQL Server usando o SSMS.
RESTRIÇÕES DO T.D.E
As ações abaixo não são permitidas enquanto o banco está iniciando a criptografia, descriptografando ou alterando a chave
- Deletar um data file ou filegroup do banco
- Deletar o banco de dados
- Alterar o banco para offline
- Operações de detach
- Alterar o banco ou filegroup para read_only
- Alterar algum parâmetro via ALTER DATABASE
- Iniciar um backup ou restore
- Criar um snapshot
Se estas operações estiverem ocorrendo, não é possível criptografar
- Algum filegroup com read_only
- Alguma alteração no banco
- Operação de backup
- Tarefas de manutenção
Como podemo ver, a forma de implementar um modelo de criptografia baseado no T.D.E no Azure é bem mais simples, se formos deixar pela responsabilidade do serviço.
O T.D.E é uma importante ferramenta que é capaz de garantir um bom nível de segurança contra colaboradores mal intencionados. Ele também se encaixa perfeitamente em ambientes onde não é possível ou seria muito custoso alterar a aplicação para modelos de segurança mais complexos.
E embora não tenha sido abordado aqui (problemas técnicos) é possível utilizar o cofre externo do Azure para criptografar chaves dentro do SQL Server via E.K.M (extensible key management).
Irei deixar o link para quem quiser se aventurar! Confesso que não consegui, diversos erros ao finalizar o processo.
Vejo os senhores na próxima publicação e até breve!