Encriptação de Dados Transparente for Azure Synapse Analytics

Dica

Microsoft Fabric Data Warehouse é um armazém relacional de escala empresarial baseado numa base de data lake, com uma arquitetura pronta para o futuro, IA incorporada e novas funcionalidades. Se és novo no data warehousing, começa pelo Fabric Data Warehouse. As cargas de trabalho existentes de pool SQL dedicado podem atualizar para o Fabric para acessar novas capacidades em ciência de dados, análise em tempo real e relatórios.

Aplica-se a: Pools SQL dedicados do Azure Synapse Analytics (anteriormente SQL DW)

A Encriptação de Dados Transparente (TDE) protege um pool SQL dedicado contra atividades offline maliciosas, encriptando ficheiros de base de dados, registos de transações e backups em repouso. A encriptação e a desencriptação ocorrem em tempo real e não requerem alterações na aplicação.

Deve ativar manualmente o TDE para um pool SQL dedicado independente do Azure Synapse Analytics.

A TDE executa criptografia de E/S em tempo real e descriptografia dos dados no nível da página. Cada página é desencriptada quando é lida na memória e, em seguida, encriptada antes de ser gravada no disco. A TDE criptografa o armazenamento de um banco de dados inteiro usando uma chave simétrica chamada Chave de Criptografia de Banco de Dados (DEK). Na inicialização do banco de dados, a DEK criptografada é descriptografada e, em seguida, usada para descriptografar e novamente cifrar os arquivos de banco de dados no processo do mecanismo de banco de dados do SQL Server. O protetor TDE protege o DEK. O protetor de TDE é um certificado gerido pelo serviço (encriptação de dados transparente gerida pelo serviço).

Para o Azure Synapse, defines o protetor TDE ao nível do servidor e todas as bases de dados associadas a esse servidor herdam-no.

Note

Este artigo aborda pools SQL dedicados autónomos (anteriormente SQL DW) alojados num servidor lógico. Para pools SQL dedicados num espaço de trabalho Synapse, veja Encriptação para áreas de trabalho do Azure Synapse Analytics.

Como funciona a TDE

O TDE encripta páginas de bases de dados utilizando uma Chave de Encriptação de Base de Dados (DEK) simétrica. O DEK é armazenado no registo de arranque da base de dados e o protetor TDE protege-o. O protetor é um certificado gerido pelo serviço.

Configuras o protetor TDE no servidor lógico e os pools SQL dedicados nesse servidor herdam-no. Cada página é desencriptada quando lida na memória e encriptada antes de ser escrita para o armazenamento.

TDE gerido pelo serviço

No Azure, a configuração padrão para TDE é que a DEK é protegida por um certificado de servidor interno. O certificado de servidor incorporado é exclusivo para cada servidor e o algoritmo de encriptação utilizado é o AES 256 no modo Cadeia de Bloqueio de Cifras (CBC). Se um banco de dados estiver em uma relação de replicação geográfica, os bancos de dados primário e geosecundário serão protegidos pela chave do servidor pai do banco de dados primário. Se duas bases de dados estiverem ligadas ao mesmo servidor, também partilharão o mesmo certificado incorporado. A Microsoft alterna automaticamente esses certificados uma vez por ano, em conformidade com a política de segurança interna, e a chave raiz é protegida por um armazenamento secreto interno da Microsoft. Os clientes podem verificar a conformidade do Banco de Dados SQL e da Instância Gerenciada SQL com as políticas internas de segurança em relatórios de auditoria independentes de terceiros disponíveis na Central de Confiabilidade da Microsoft. A Microsoft também move e gere de forma integrada as chaves conforme necessário para georreplicação e restaurações.

TDE gerida pelo cliente

Com o TDE gerido pelo cliente, o protetor é uma chave assimétrica que o utilizador controla no Azure Key Vault ou no Azure Key Vault Managed HSM. Controlas a criação de chaves, permissões de acesso, rotação, backup e eliminação. A chave não sai do repositório de chaves.

Revogar o acesso do servidor lógico à chave torna os pools SQL dedicados encriptados inacessíveis. Proteja o armazenamento de chaves com eliminação suave, proteção contra purga, monitorização e acesso com privilégios mínimos.

O Azure Synapse precisa de receber permissões para o cofre de chaves propriedade do cliente para desencriptar e encriptar o DEK. Se as permissões do servidor para o cofre de chaves forem revogadas, um banco de dados ficará inacessível e todos os dados serão criptografados.

Para requisitos e recomendações, consulte Customer-managed TDE for Azure Synapse Analytics.

Mover uma base de dados protegida pela Encriptação de Dados Transparente

Você não precisa descriptografar bancos de dados para operações no Azure. As configurações de TDE no banco de dados de origem ou no banco de dados primário são herdadas de forma transparente no destino. As operações incluídas envolvem:

  • Restauração Geográfica
  • Autoatendimento para restauração a um momento específico
  • Restauração de um banco de dados excluído
  • Replicação geográfica ativa
  • Criação de uma cópia de banco de dados

Quando você exporta um banco de dados protegido por TDE para um arquivo BACPAC, o conteúdo exportado do banco de dados não é criptografado. Se você importar para um banco de dados vazio existente, a criptografia dependerá se o TDE está habilitado nesse banco de dados ou não.

Gerir Encriptação de Dados Transparente

portal do Azure

Para ativar ou desativar o TDE, abra o pool SQL dedicado no portal Azure, selecione Encriptação de dados transparente e guarde o estado requerido. Para configurar um protetor gerido pelo cliente, abra a encriptação de dados transparente no servidor lógico e selecione a chave do Azure Key Vault. Encontre as configurações de TDE em seu banco de dados de usuários. Por padrão, a chave de criptografia no nível do servidor é usada. Um certificado TDE é gerado automaticamente para o servidor que contém o banco de dados.

PowerShell

Gerencie a TDE usando o PowerShell.

Importante

O módulo Az substitui AzureRM. Todo o desenvolvimento futuro é para o módulo Az.Sql.

Para configurar o TDE por meio do PowerShell, você deve estar conectado como Proprietário, Colaborador ou Gerenciador de Segurança SQL do Azure.

Use os seguintes cmdlets Az.Sql:

Cmdlet Purpose
Set-AzSqlDatabaseTransparentDataEncryption Ative ou desative o TDE para um pool SQL dedicado.
Get-AzSqlDatabaseTransparentDataEncryption Obtenha o estado atual do TDE.
Add-AzSqlServerKeyVaultKey Adiciona uma chave ao servidor lógico.
Get-AzSqlServerKeyVaultKey Liste as chaves disponíveis para o servidor lógico.
Set-AzSqlServerTransparentDataEncryptionProtector Define o protetor TDE do servidor.
Get-AzSqlServerTransparentDataEncryptionProtector Obtenha o protetor TDE atual.
Remove-AzSqlServerKeyVaultKey Remova uma chave do servidor lógico.

Transact-SQL

Gerencie TDE usando Transact-SQL.

Conecte-se ao banco de dados usando um logon que seja administrador ou membro da função dbmanager no master banco de dados.

Command Description
ALTER DATABASE (Base de Dados SQL do Azure) SET ENCRYPTION ON/OFF encripta ou desencripta uma base de dados
sys.dm_database_encryption_keys Retorna informações sobre o estado de criptografia de um banco de dados e suas chaves de criptografia de banco de dados associadas
sys.dm_pdw_nodes_database_encryption_keys Retorna informações sobre o estado de criptografia de cada nó do Azure Synapse e suas chaves de criptografia de banco de dados associadas

Não é possível trocar o protetor TDE para uma chave do Azure Key Vault usando o Transact-SQL. Use o PowerShell ou o portal do Azure.

API REST

Os seguintes recursos de gestão SQL aplicam-se ao servidor lógico e ao pool SQL dedicado.

Para configurar o TDE por meio da API REST, você deve estar conectado como Proprietário, Colaborador ou Gerenciador de Segurança SQL do Azure.

Utilize o seguinte conjunto de comandos para pools SQL dedicados independentes do Azure Synapse Analytics:

Command Description
Criar ou atualizar servidor Adiciona uma identidade do Microsoft Entra ID (anteriormente Azure Ative Directory) a um servidor. (usado para conceder acesso ao Cofre da Chave do Azure)
Criar ou atualizar chave do servidor Adiciona uma chave do Cofre da Chave do Azure a um servidor.
Excluir chave do servidor Remove uma chave do Cofre da Chave do Azure de um servidor.
Obter chaves de servidor Obtém uma chave específica do Azure Key Vault de um servidor.
Listar chaves de servidor por servidor Obtém as chaves do Cofre da Chave do Azure para um servidor.
Criar ou atualizar o protetor de criptografia Define o protetor TDE para um servidor.
Obtenha o Protetor de Encriptação Obtém o protetor TDE para um servidor.
Listar protetores de criptografia por servidor Obtém os protetores TDE para um servidor.
Criar ou atualizar configuração de criptografia de dados transparente Habilita ou desabilita o TDE para um banco de dados.
Obtenha uma configuração transparente de criptografia de dados Obtém a configuração TDE para um banco de dados.
Listar resultados de configuração de criptografia de dados transparentes Obtém o resultado da criptografia para um banco de dados.