Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Best practices for TDE

Última atualização: Jun 26, 2026

A Transparent Data Encryption (TDE) criptografa seus bancos de dados do ApsaraDB RDS for SQL Server em repouso. Ela protege arquivos de dados e backups contra acesso não autorizado, mesmo se o armazenamento subjacente for comprometido. Este tópico explica o funcionamento da TDE, como ativá-la e desativá-la e como restaurar backups criptografados com TDE em um SQL Server local. O conteúdo abrange cenários com chaves gerenciadas pela Alibaba Cloud e com Bring Your Own Key (BYOK).

Aviso

Os arquivos de backup criados com a TDE ativa são criptografados com a Database Encryption Key (DEK). A DEK é protegida por um certificado armazenado no banco de dados master. Se o certificado da TDE não estiver presente no banco de dados master, a DEK não poderá ser descriptografada e você não conseguirá restaurar os arquivos de backup do banco de dados afetado. Faça backup do seu certificado e da chave privada após ativar a TDE.

Como a TDE funciona

A TDE protege os dados na camada de armazenamento sem exigir alterações no código da aplicação ou na lógica de conexão. Aplicações e usuários autenticados leem dados em texto simples normalmente. A criptografia e a descriptografia ocorrem de forma transparente no caminho de E/S do SQL Server.

A TDE utiliza uma hierarquia de chaves em camadas. Cada camada criptografa a camada abaixo dela:

OS layer
└── Data Protection API (DPAPI)          — Windows built-in API; root of the hierarchy
    └── Service Master Key (SMK)         — root key for the SQL Server engine; generated at instance creation
        └── Database Master Key (DMK)    — symmetric key stored in the master database
            └── Certificate              — stored in the master database; created from the DMK
                └── Database Encryption Key (DEK)  — stored in the user database; encrypts data files

O banco de dados master armazena a DMK e o certificado. Os bancos de dados de usuário armazenam a DEK, criptografada pelo certificado. Quando o SQL Server lê ou grava dados, ele usa a chave privada do certificado para descriptografar a DEK na memória. Em seguida, utiliza a DEK para criptografar ou descriptografar arquivos de dados em tempo real.

Se o certificado estiver ausente no banco de dados master, a DEK não poderá ser descriptografada. Os arquivos de backup do banco de dados afetado tornar-se-ão inacessíveis.

Considerações sobre desempenho

A TDE reduz o desempenho geral do banco de dados em aproximadamente 3% a 5% sob cargas de trabalho típicas, com base em benchmarks oficiais da Microsoft. Sob alta utilização de CPU, o impacto pode chegar a cerca de 28%.

Fator

Impacto

Dados residentes na memória

Mínimo: dados já presentes no buffer pool não são recriptografados a cada leitura

CPU

Alto: operações de criptografia e descriptografia adicionam sobrecarga a cada caminho de E/S

Cargas com uso intensivo de E/S e baixo uso de CPU

Impacto menor em comparação a cargas limitadas por CPU

Pré-requisitos

Antes de ativar a TDE, certifique-se de que as seguintes condições sejam atendidas:

  • A instância RDS pertence à família de instâncias general-purpose ou dedicated. Instâncias compartilhadas não são suportadas. Consulte Famílias de instâncias.

  • O método de faturamento é subscription ou pay-as-you-go. Instâncias Serverless do ApsaraDB RDS não são suportadas. 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 ou SQL Server EE.

  • Sua conta Alibaba Cloud autorizou a instância RDS a acessar o Key Management Service (KMS). Consulte Autorizar o ApsaraDB RDS a acessar o KMS.

  • (Apenas BYOK) Obtenha o arquivo de certificado, o arquivo de chave privada e a senha antes de começar.

Instâncias somente leitura não suportam TDE.

Limitações

Limitação

Detalhes

Restauração local com chave da Alibaba Cloud

Não é possível usar arquivos de backup diretamente para restaurar dados em um dispositivo local. Consulte Restauração local: chave da Alibaba Cloud para a solução alternativa.

Reconstrução da instância RDS

Os arquivos de backup não podem ser usados para reconstruir a instância RDS enquanto a TDE estiver ativa. Consulte Reconstruir uma instância RDS.

Atualizações de versão e atualizações menores do mecanismo

Com a TDE ativa, não é possível atualizar uma instância RDS com discos locais do SQL Server 2008 R2 para o SQL Server 2012 ou SQL Server 2016, nem atualizar a versão menor do mecanismo. Consulte Atualizar SQL Server 2008 R2 e Atualizar a versão menor do mecanismo.

Ativar ou desativar a TDE

Ativar TDE

  1. Acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS reside. Localize a instância e clique em seu ID.

  2. No painel de navegação à esquerda, clique em Data Security.

  3. Na aba TDE, ative a chave ao lado de Disabled.

  4. Na caixa de diálogo, selecione um tipo de chave e clique em OK.

Usar uma chave gerenciada pela Alibaba Cloud

Selecione os bancos de dados na seção Unselected Databases, clique no ícone para movê-los para a seção Selected Databases e clique em Confirm.

TDE settings

Usar sua própria chave do SQL Server (BYOK)

  1. Faça upload do arquivo de certificado e do arquivo de chave privada para um bucket do OSS. Consulte Upload objects.

    Upload files to OSS

  2. Clique em Next step e configure os seguintes parâmetros.

    Parâmetro

    Descrição

    OSS Bucket

    Bucket do OSS onde os arquivos de certificado e chave privada estão armazenados.

    Certificate

    Arquivo de certificado enviado para o bucket do OSS.

    Private key

    Arquivo de chave privada enviado para o bucket do OSS.

    Password

    Senha da sua chave do SQL Server.

    Select your own key

  3. Clique em Next step para prosseguir para a etapa Authorization database. Selecione os bancos de dados na seção Unselected Databases, clique no ícone para movê-los para a seção Selected Databases e clique em Confirm.

    Authorize databases

Desativar TDE

Desativar a TDE descriptografa todos os dados nos bancos de dados selecionados. A descriptografia consome muitos recursos (CPU, memória e E/S) e o tempo necessário é proporcional ao volume de dados. Para um banco de dados com aproximadamente 200 GB, desativar a TDE pode levar mais de 40 minutos.

Para desativar a TDE de um ou mais bancos de dados, remova-os da seção Selected Databases . Para desativar a TDE de toda a instância RDS, remova todos os bancos de dados da seção Selected Databases .
  1. Acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS reside. Localize a instância e clique em seu ID.

  2. No painel de navegação à esquerda, clique em Data Security.

  3. Na aba TDE, clique em TDE Settings.

  4. Selecione os bancos de dados na seção Selected Databases, clique no ícone para movê-los para a seção Unselected Databases e clique em OK.

    Disable TDE

Monitorar o progresso da descriptografia

Após desativar a TDE, execute a seguinte consulta para verificar o progresso da descriptografia:

SELECT
    db_name(database_id) AS DatabaseName,
    encryption_state,
    percent_complete
FROM
    sys.dm_database_encryption_keys;

Restauração local: chave da Alibaba Cloud

Utilize este procedimento se a TDE foi ativada com uma chave de serviço gerenciada pela Alibaba Cloud. Como a chave de serviço é gerenciada pela Alibaba Cloud e não pode ser exportada, os arquivos de backup criptografados não podem ser usados diretamente. A solução alternativa consiste em desativar a TDE primeiro e, depois, realizar um novo backup completo.

Etapa 1: Desativar a TDE

Siga as etapas em Desativar TDE para remover todos os bancos de dados da seção Selected Databases.

Após desativar a TDE, alguns logs de transação criptografados ainda podem existir. Baixe o backup somente após concluir o backup completo na próxima etapa.

Etapa 2: Realizar um backup completo

Depois que a TDE for desativada, realize um backup completo. Para obter detalhes, consulte Configurar backups manuais.

Ao criar um backup manual, você pode fazer backup de toda a instância RDS ou de bancos de dados específicos. Fazer backup de bancos de dados específicos requer o método de backup físico.

Etapa 3: Baixar o backup e restaurar dados

Na página Backup and Restoration, baixe o arquivo de backup completo mais recente. Use o arquivo .bak no pacote baixado para restaurar dados no seu SQL Server local. Consulte Baixar arquivos de backup de dados e arquivos de backup de log.

Restauração local: BYOK

Se a TDE foi ativada com sua própria chave do SQL Server (BYOK), você pode restaurar o backup criptografado em um SQL Server local usando seu próprio certificado e chave privada.

Você também pode usar o procedimento com chave da Alibaba Cloud como alternativa, utilizando a abordagem de desativar e depois fazer backup.

Conecte-se à sua instância RDS usando um cliente SQL Server antes de executar as instruções a seguir. Consulte Conectar-se a uma instância do ApsaraDB RDS for SQL Server .

Etapa 1: Criar uma chave mestra de criptografia

Execute a seguinte instrução no banco de dados master da sua instância RDS para criar uma chave mestra de criptografia (MEK). Se já existir uma MEK, pule para a Etapa 2.

USE master;
GO
IF NOT EXISTS (
    SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101
)
BEGIN
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<your-mek-password>'; -- Replace with your custom password.
END;

A senha pode ser diferente daquela usada para criar a MEK no servidor onde seu banco de dados SQL Server auto-gerenciado foi criado.

Etapa 2: Criar um certificado a partir dos seus arquivos BYOK

Importe o certificado e a chave privada que foram usados ao ativar a TDE na instância RDS.

USE master;
GO
CREATE CERTIFICATE TDE_Certificate
FROM FILE = 'C:\cert\tde_cert.cer'         -- Replace with the actual path to your certificate file.
WITH PRIVATE KEY (
    FILE = 'C:\cert\tde_privatekey.pvk',   -- Replace with the actual path to your private key file.
    DECRYPTION BY PASSWORD = '<your-tde-password>'  -- Replace with the password used when enabling TDE.
);

Espaço reservado

Descrição

<your-mek-password>

Senha para proteger a MEK no servidor local.

C:\cert\tde_cert.cer

Caminho para o arquivo de certificado usado ao ativar a TDE.

C:\cert\tde_privatekey.pvk

Caminho para o arquivo de chave privada usado ao ativar a TDE.

<your-tde-password>

Senha especificada quando você ativou a TDE com BYOK.

Etapa 3: Baixar o backup e restaurar dados

Na página Backup and Restoration da instância RDS, localize o conjunto de backup necessário, faça o download e use o arquivo .bak para restaurar dados no SQL Server local. Consulte Baixar arquivos de backup de dados e arquivos de backup de log.

Compatibilidade de versão: Se a restauração falhar com o erro The media family on device '<backup file name>' is incorrectly formed. SQL Server cannot process this media family., a versão menor do mecanismo do SQL Server local é mais antiga que a versão da instância RDS. Para resolver isso, certifique-se de que as versões principal e menor do mecanismo do banco de dados local correspondam às da instância RDS. Verifique a versão do mecanismo na página Basic Information da instância no console. Consulte KB5014298 para obter detalhes.

Próximos passos

Para outras opções de criptografia de dados disponíveis no ApsaraDB RDS for SQL Server, consulte Segurança e criptografia de dados.