A criptografia de dados transparente (TDE) criptografa arquivos de dados em tempo real durante a gravação em disco e os descriptografa ao serem carregados na memória, sem exigir alterações na sua aplicação. Utilize o TDE quando precisar de criptografia de dados em repouso para atender a requisitos de conformidade de segurança, proteger conteúdo sensível do banco de dados contra acesso direto ao armazenamento ou compartilhar arquivos de backup com terceiros de forma segura.
Após a ativação do TDE, o tamanho dos arquivos de dados não aumenta.
Como funciona
O TDE utiliza uma hierarquia de chaves em camadas para proteger seus dados.
Camada do sistema operacional — A API de Proteção de Dados do Windows (DPAPI) é uma API nativa do Windows que gerencia chaves e algoritmos de criptografia de forma transparente. A DPAPI representa a raiz da hierarquia de chaves do TDE e protege a chave mestra de serviço (SMK).
Camada da instância do SQL Server — O SQL Server gera a chave mestra de serviço (SMK) durante a criação da instância. Ela atua como a chave de criptografia raiz para o mecanismo de banco de dados e a DPAPI a protege. A SMK criptografa a chave mestra do banco de dados (DMK).
Camada do banco de dados — O TDE opera tanto no banco de dados master quanto nos bancos de dados de usuário:
Banco de dados master: Ao ativar o TDE, o sistema cria uma DMK e um certificado no banco de dados master. A DMK é uma chave simétrica criptografada pela SMK; o certificado criptografa a chave de criptografia do banco de dados (DEK) armazenada nos bancos de dados de usuário.
Bancos de dados de usuário: Cada banco de dados de usuário armazena uma DEK criptografada pelo certificado presente no banco de dados master. Quando o SQL Server lê ou grava dados, ele utiliza a chave privada do certificado para descriptografar a DEK na memória e, em seguida, usa a DEK para criptografar ou descriptografar os arquivos de dados em tempo real. Esse processo é transparente para aplicações e usuários.
Se o certificado do TDE não estiver presente no banco de dados master, o SQL Server não conseguirá descriptografar a DEK. Isso impede a restauração de arquivos de backup de um banco de dados com TDE ativado ou a anexação do banco de dados a outra instância.
Pré-requisitos
Antes de começar, verifique se:
-
A instância RDS atende a todas as condições abaixo:
A instância pertence à família de instâncias de uso geral ou dedicada. Não há suporte para instâncias de desempenho compartilhado. Para mais informações, consulte Famílias de instâncias.
O método de faturamento é assinatura ou pagamento conforme o uso. Não há suporte para instâncias serverless. Para mais informações, consulte Instâncias serverless do ApsaraDB RDS for SQL Server.
A instância executa uma das seguintes versões do SQL Server: SQL Server 2019 SE, SQL Server 2022 SE, SQL Server 2025 SE ou SQL Server EE.
A instância não é uma instância RDS somente leitura.
Sua conta Alibaba Cloud autorizou a instância RDS a acessar o Key Management Service (KMS). Para mais informações, consulte Autorizar o ApsaraDB RDS a acessar o KMS.
(Obrigatório apenas para Bring Your Own Key - BYOK) Você já possui o arquivo de certificado, o arquivo de chave privada e a senha.
Limitações e notas de uso
Limitações
Ao ativar o TDE em uma instância RDS:
Não é possível atualizar a versão secundária do mecanismo da instância.
Caso a instância utilize SSDs locais premium e execute o SQL Server 2008 R2, não será possível atualizar a versão principal do mecanismo do SQL Server 2008 R2 para o SQL Server 2012 ou SQL Server 2016.
Os arquivos de backup permitem restaurar dados em uma nova instância RDS, mas não servem para reconstruir a instância RDS nem para restaurar dados em outra instância RDS existente.
Se você utilizar a chave de serviço da Alibaba Cloud, os arquivos de backup gerados após a ativação do TDE não poderão restaurar dados em um dispositivo local.
Impacto no desempenho
O TDE exige uso intensivo de CPU e envolve operações de I/O. De acordo com a documentação oficial da Microsoft:
O desempenho geral diminui aproximadamente 3%–5% em condições típicas.
O impacto é mínimo quando a maior parte dos dados acessados reside na memória.
A perda de desempenho pode chegar a cerca de 28% se a utilização da CPU já estiver alta.
Ativar o TDE
Acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada e clique em no ID da instância.
No painel de navegação à esquerda, clique em Data Security.
-
Na aba TDE, ative a opção ao lado de Disabled.
O TDE só pode ser ativado quando todos os pré-requisitos forem atendidos.
Na caixa de diálogo, selecione um tipo de chave e clique em OK.
Usar a chave gerada automaticamente pela Alibaba Cloud
Selecione os bancos de dados na seção Unselected Databases, clique em no ícone
para movê-los para a seção Selected Databases e clique em Confirm.

Criptografar com sua própria chave do SQL Server (BYOK)
-
Faça upload do arquivo de certificado e do arquivo de chave privada para o seu bucket do OSS. Para mais informações, consulte Upload objects.

-
Clique em Next step e configure os parâmetros a seguir.
Parâmetro
Descrição
OSS Bucket
Bucket do OSS onde você enviou os arquivos de certificado e chave privada.
Certificate
Arquivo de certificado enviado ao bucket do OSS.
Private key
Arquivo de chave privada enviado ao bucket do OSS.
Password
Senha da sua chave do SQL Server.

Clique em Next step para avançar à etapa Authorization database.
-
Selecione os bancos de dados na seção Unselected Databases, clique em no ícone
para movê-los para a seção Selected Databases e clique em Confirm.
Desativar o TDE
Desativar o TDE descriptografa todos os dados. Essa operação consome muitos recursos, incluindo CPU, memória e I/O. O tempo de descriptografia varia conforme o volume de dados — para um banco de dados com cerca de 200 GB, o processo pode levar mais de 40 minutos.
Para desativar o TDE em bancos de dados específicos: remova-os da seção Selected Databases.
Para desativar o TDE em toda a instância: remova todos os bancos de dados da seção Selected Databases. O sistema desativará o TDE para a instância.
Passos:
Acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada e clique em no ID da instância.
No painel de navegação à esquerda, clique em Data Security.
Clique em na aba TDE e, em seguida, clique em TDE Settings.
-
Selecione os bancos de dados na seção Selected Databases, clique em no ícone
para movê-los para a seção Unselected Databases e clique em OK.
Para verificar o progresso da descriptografia após desativar o TDE, execute a seguinte instrução SQL:
SELECT
db_name(database_id) AS DatabaseName,
encryption_state,
percent_complete
FROM
sys.dm_database_encryption_keys;
Próximos passos
Para ativar o TDE por meio de uma operação de API REST, consulte ModifyDBInstanceTDE.
Para criptografar conexões com a instância RDS usando SSL, consulte Configurar o recurso de criptografia SSL.