Encriptação de dados transparente para Base de Dados SQL, Azure SQL Managed Instance e Azure Synapse Analytics

Aplica-se a:Banco de Dados SQL do Azure Azure SQLManaged InstanceAzure Synapse Analytics

A criptografia de dados transparente (TDE) ajuda a proteger o Banco de Dados SQL do Azure, a Instância Gerenciada SQL do Azure e o Azure Synapse Analytics contra a ameaça de atividades offline mal-intencionadas criptografando dados em repouso. Realiza a encriptação e desencriptação em tempo real da base de dados, cópias de segurança associadas e ficheiros de registo de transações inativos e não carece de alterações à aplicação. Por padrão, o TDE é habilitado para todos os Bancos de Dados SQL do Azure recém-implantados e deve ser habilitado manualmente para bancos de dados mais antigos do Banco de Dados SQL do Azure. Para a Instância Gerenciada SQL do Azure, o TDE é habilitado no nível da instância e nos bancos de dados recém-criados. A TDE deve ser habilitada manualmente para o Azure Synapse Analytics.

Nota

Este artigo aplica-se à Base de Dados SQL do Azure, à Instância Gerida SQL do Azure e ao Azure Synapse Analytics (pools SQL dedicados (anteriormente SQL DW)). Para obter documentação sobre Criptografia de Dados Transparente para pools SQL dedicados dentro de espaços de trabalho Synapse, consulte Criptografia do Azure Synapse Analytics.

Alguns itens considerados conteúdo do cliente, como nomes de tabelas, nomes de objetos e nomes de índice, podem ser transmitidos em arquivos de log para suporte e solução de problemas pela Microsoft.

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 encriptada antes de ser escrita 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 descriptografia e recriptografia dos arquivos de banco de dados no processo do mecanismo de banco de dados do SQL Server. DEK é protegido pelo protetor TDE. O protetor TDE é um certificado gerenciado por serviço (criptografia de dados transparente gerenciada por serviço) ou uma chave assimétrica armazenada no Cofre de Chaves do Azure (criptografia de dados transparente gerenciada pelo cliente).

Para o Banco de Dados SQL do Azure e o Azure Synapse, o protetor TDE é definido no nível do servidor e é herdado por todos os bancos de dados associados a esse servidor . Para a Instância Gerenciada SQL do Azure, o protetor TDE é definido no nível da instância e herdado por todos os bancos de dados criptografados nessa instância. O termo servidor refere-se ao servidor e à instância ao longo deste documento, a menos que indicado de forma diferente.

Importante

Todos os bancos de dados SQL recém-criados são criptografados por padrão usando criptografia de dados transparente gerenciada por serviço. Quando a origem do banco de dados é criptografada, os bancos de dados de destino criados por meio de restauração, replicação geográfica e cópia do banco de dados são criptografados por padrão. No entanto, quando a origem do banco de dados não é criptografada, os bancos de dados de destino criados por meio de restauração, replicação geográfica e cópia do banco de dados não são criptografados por padrão. Os bancos de dados SQL existentes criados antes de maio de 2017 e os bancos de dados existentes da Instância Gerenciada SQL criados antes de fevereiro de 2019 não são criptografados por padrão. Os bancos de dados da Instância Gerenciada SQL criados por meio da restauração herdam o status de criptografia da origem. Para restaurar uma base de dados com Encriptação de Dados Transparente existente, o certificado TDE necessário tem de ser primeiro importado para o SQL Managed Instance. Para descobrir o status de criptografia de um banco de dados, execute uma consulta select do sys.dm_database_encryption_keys DMV e verifique o encryption_state_desc status da coluna.

Nota

A TDE não pode ser usada para criptografar bancos de dados do sistema, como o master banco de dados, no Banco de dados SQL e na Instância Gerenciada SQL. O master banco de dados contém objetos necessários para executar operações TDE em bancos de dados de usuários. Recomenda-se não armazenar dados confidenciais em bancos de dados do sistema. A exceção é o , que é tempdbsempre criptografado com TDE para proteger os dados armazenados lá.

Encriptação de dados transparente gerida pelo cliente

No Azure, a predefinição da TDE é a DEK estar protegida por um certificado de servidor incorporado. O certificado de servidor incorporado é exclusivo para cada servidor e o algoritmo de encriptação utilizado é AES 256. Se uma base de dados estiver numa relação de georreplicação, as bases de dados primária e georreplicação secundária estarão protegidas pela chave do servidor principal da base de dados primária. Se duas bases de dados estiverem ligadas ao mesmo servidor, também partilharão o mesmo certificado incorporado. A Microsoft roda automaticamente estes certificados em conformidade com a política de segurança interna e a chave de raiz está protegida por um arquivo interno secreto 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 totalmente as chaves conforme necessário para georreplicação e restauros.

Criptografia de dados transparente gerenciada pelo cliente - Traga sua própria chave

O TDE gerenciado pelo cliente também é conhecido como suporte Bring Your Own Key (BYOK) para TDE. Nesse cenário, o Protetor TDE que criptografa a DEK é uma chave assimétrica gerenciada pelo cliente, que é armazenada em um Cofre de Chaves do Azure gerenciado e de propriedade do cliente (o sistema de gerenciamento de chaves externas baseado em nuvem do Azure) e nunca sai do cofre de chaves. O TDE Protetor pode ser gerado pelo cofre de chaves ou transferido para o cofre de chaves a partir de um dispositivo HSM (módulo de segurança de hardware) local. O Banco de Dados SQL, a Instância Gerenciada SQL e a Sinapse do Azure precisam receber permissões para o cofre de chaves de propriedade do cliente para descriptografar e criptografar a 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.

Com a integração do TDE com o Azure Key Vault, os usuários podem controlar tarefas de gerenciamento de chaves, incluindo rotações de chaves, permissões de cofre de chaves, backups de chaves e habilitar auditorias/relatórios em todos os protetores TDE usando a funcionalidade Azure Key Vault. O Key Vault fornece gerenciamento central de chaves, aproveita HSMs rigorosamente monitorados e permite a separação de tarefas entre o gerenciamento de chaves e dados para ajudar a cumprir a conformidade com as políticas de segurança. Para saber mais sobre o BYOK para o Banco de Dados SQL do Azure e o Azure Synapse, consulte Criptografia de dados transparente com a integração do Azure Key Vault.

Para começar a usar o TDE com a integração do Cofre de Chaves do Azure, consulte o guia de instruções Ativar a criptografia de dados transparente usando sua própria chave do Cofre de Chaves.

Mover um banco de dados transparente protegido por criptografia de dados

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:

  • Restauro geográfico
  • Restauração point-in-time de autoatendimento
  • Restauração de um banco de dados excluído
  • Georreplicação ativa
  • Criação de uma cópia de banco de dados
  • Restauração do arquivo de backup para a Instância Gerenciada SQL do Azure

Importante

Não há suporte para fazer backup manual SOMENTE CÓPIA de um banco de dados criptografado pelo TDE gerenciado pelo serviço na Instância Gerenciada SQL do Azure, pois o certificado usado para criptografia não está acessível. Use o recurso de restauração point-in-time para mover esse tipo de banco de dados para outra instância gerenciada do SQL ou alterne para a chave gerenciada pelo cliente.

Quando você exporta um banco de dados protegido por TDE, o conteúdo exportado do banco de dados não é criptografado. Este conteúdo exportado é armazenado em ficheiros BACPAC não encriptados. Certifique-se de proteger os arquivos BACPAC adequadamente e habilitar o TDE após a conclusão da importação do novo banco de dados.

Por exemplo, se o arquivo BACPAC for exportado de uma instância do SQL Server, o conteúdo importado do novo banco de dados não será criptografado automaticamente. Da mesma forma, se o arquivo BACPAC for importado para uma instância do SQL Server, o novo banco de dados também não será criptografado automaticamente.

A única exceção é quando você exporta um banco de dados de e para o Banco de dados SQL. TDE está habilitado no novo banco de dados, mas o arquivo BACPAC em si ainda não está criptografado.

Gerencie a criptografia de dados transparente

Gerencie TDE no portal do Azure.

Para configurar o TDE através do portal do Azure, tem de estar ligado como Proprietário, Colaborador ou Gestor de Segurança SQL do Azure.

Habilite e desabilite o TDE no nível do banco de dados. Para a Instância Gerenciada SQL do Azure, use Transact-SQL (T-SQL) para ativar e desativar o TDE em um banco de dados. Para o Banco de Dados SQL do Azure e o Azure Synapse, você pode gerenciar o TDE para o banco de dados no portal do Azure depois de entrar com a conta de Administrador ou Colaborador do Azure. 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.

Service-managed transparent data encryption

Você define a chave mestra TDE, conhecida como protetor TDE, no nível do servidor ou da instância. Para usar o TDE com suporte a BYOK e proteger seus bancos de dados com uma chave do Cofre de Chaves do Azure, abra as configurações de TDE em seu servidor ou instância gerenciada.

Transparent data encryption with Bring Your Own Key support

Você também pode usar uma chave gerenciada pelo cliente para TDE em um nível de banco de dados para o Banco de Dados SQL do Azure. Para obter mais informações, consulte Criptografia de dados transparente (TDE) com chaves gerenciadas pelo cliente no nível do banco de dados.

Próximos passos

Saiba mais sobre conceitos relacionados nos seguintes artigos: