Compartilhar via


Transparent Data Encryption para Banco de Dados SQL, Instância Gerenciada de SQL e Azure Synapse Analytics

Aplica-se a:Banco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse Analytics

A TDE (Transparent Data Encryption) ajuda a proteger o Banco de Dados SQL do Azure, a Instância Gerenciada de SQL do Azure e o Azure Synapse Analytics contra a ameaça de atividade offline mal-intencionada, por meio de criptografia de dados inativos. Ela realiza a criptografia e a descriptografia em tempo real do banco de dados, de backups associados e de arquivos de log de transações em repouso, sem a necessidade de alterações no aplicativo. Por padrão, a TDE está habilitada para todos os Bancos de Dados SQL do Microsoft Azure recentemente implantados e deve ser habilitada de forma manual para banco de dados mais antigos do Banco de Dados SQL do Azure. Para a Instância Gerenciada de SQL do Azure, a TDE está habilitada no nível da instância e de bancos de dados recém-criados. A TDE deve ser habilitada manualmente para o Azure Synapse Analytics.

Observação

Este artigo se aplica ao Banco de Dados SQL do Azure, à Instância Gerenciada de SQL do Azure e ao Azure Synapse Analytics (pools de SQL dedicados, anteriormente conhecido como SQL DW). Para obter a documentação sobre o Transparent Data Encryption para pools de SQL dedicados nos workspaces do Azure Synapse, confira Criptografia do Azure Synapse Analytics.

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

A TDE realiza a criptografia e a descriptografia de E/S em tempo real dos dados no nível da página. Cada página é descriptografada quando é lida na memória e, em seguida, criptografada antes de ser gravada no disco. A TDE criptografa o armazenamento de um banco de dados inteiro usando uma chave simétrica chamada de DEK (Chave de Criptografia de Banco de Dados). Na inicialização do banco de dados, o DEK criptografado é descriptografado e usado para descriptografia e para a nova criptografia dos arquivos do banco de dados no processo do mecanismo de banco de dados do SQL Server. O DEK é protegido pelo protetor de TDE. O protetor de TDE é um certificado gerenciado pelo serviço (criptografia transparente de dados gerenciada pelo serviço) ou uma chave assimétrica armazenada no Azure Key Vault ou no Azure Key Vault Managed HSM (criptografia transparente de dados gerenciada pelo cliente).

Para o Banco de Dados SQL do Azure e o Azure Synapse, o protetor de TDE é definido no nível do servidor e é herdado por todos os bancos de dados associados a esse servidor. Para a Instância Gerenciada de SQL do Azure, o protetor de TDE é definido no nível de 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 criados recentemente são criptografados por padrão usando Transparent Data Encryption de serviço gerenciado. 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 de banco de dados não são criptografados por padrão. Bancos de dados SQL existentes criados antes de maio de 2017 e bancos de dados existentes da Instância Gerenciada de SQL criados antes de fevereiro de 2019 não são criptografados por padrão. Os bancos de dados da Instância Gerenciada de SQL criados por meio da restauração herdam o status de criptografia da fonte. Para restaurar um banco de dados criptografado por TDE existente, o certificado TDE necessário deve primeiro ser importado para a Instância Gerenciada de SQL. Para descobrir o status de criptografia de um banco de dados, execute uma consulta seleção no DMV sys.dm_database_encryption_keys e verifique o status da coluna encryption_state_desc.

Observação

TDE não pode ser usado para criptografar bancos de dados do sistema, como o banco de dados master, no SQL Database e na SQL Managed Instance. O banco de dados master contém os objetos necessários para executar as operações de TDE nos bancos de dados do usuário. É recomendável não armazenar dados confidenciais em bancos de dados do sistema. A exceção é tempdb, que é sempre criptografada por uma chave assimétrica especial de propriedade da Microsoft. Isso é por design e garante que os objetos temporários estejam protegidos.

Transparent Data Encryption de serviço gerenciado

No Azure, a configuração padrão para TDE é de DEK protegido por certificado do servidor interno. O certificado de servidor interno é exclusivo para cada servidor e o algoritmo de criptografia usado é AES 256 no modo CBC (Encadeamento de Blocos de Criptografia). Se um banco de dados estiver em uma relação de replicação geográfica, tanto o banco de dados primário como o banco de dados geográfico secundário serão protegidos pela chave de servidor pai do primário. Se dois bancos de dados estiverem conectados ao mesmo servidor, eles também compartilharão o mesmo certificado interno. A Microsoft gira 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 de SQL com políticas de segurança internas em relatórios de auditoria de terceiros independentes disponíveis na Central de Confiabilidade da Microsoft.

A Microsoft também move e gerencia as chaves conforme necessário para replicação geográfica e restaurações.

Transparent Data Encryption gerenciada pelo cliente – Bring Your Own Key

A TDE gerenciada pelo cliente também é conhecida como suporte a BYOK (Bring Your Own Key) para TDE. Nesse cenário, o protetor de TDE que criptografa a DEK é uma chave assimétrica gerenciada pelo cliente, que é armazenada em um Azure Key Vault (sistema de gerenciamento de chaves externas baseado em nuvem do Azure) gerenciado e de propriedade do cliente e nunca abandona o cofre de chaves. O protetor de TDE pode ser gerado pelo cofre de chaves ou transferido para esse cofre de um dispositivo de HSM (módulo de segurança de hardware) local. Como alternativa, os clientes podem usar o HSM Gerenciado do Azure para armazenar e gerenciar o Protetor de TDE. O Banco de Dados SQL, a Instância Gerenciada de SQL e o Azure Synapse precisam ter permissões concedidas ao cofre de chaves de propriedade do cliente para descriptografar e criptografar o DEK. Se as permissões do servidor para o cofre de chaves forem revogadas, um banco de dados não poderá ser acessado e todos os dados serão criptografados.

Com a integração do TDE com o Azure Key Vault ou o HSM Gerenciado do Azure, os usuários podem controlar tarefas de gerenciamento de chaves, incluindo rotações de chave, permissões do Azure Key Vault, backups de chave, e habilitar a auditoria e relatórios em todos os protetores de TDE usando a funcionalidade do Azure Key Vault ou do HSM Gerenciado do Azure. O Azure Key Vault e o HSM Gerenciado do Azure fornecem gerenciamento de chave central, aproveitam HSMs monitorados rigorosamente e permitem a separação de tarefas entre o gerenciamento de chaves e dados para ajudar a atender à 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 a criptografia de dados transparentes do SQL do Azure com chave gerenciada pelo cliente.

Para começar a usar o TDE com a integração do Azure Key Vault, consulte o guia de instruções do PowerShell e da CLI do Azure: habilitar a Transparent Data Encryption com a chave gerenciada pelo cliente do Azure Key Vault.

Mover um banco de dados protegido por Transparent Data Encryption

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

  • Restauração geográfica
  • Restauração de ponto no tempo de autoatendimento
  • Restauração de um banco de dados excluído
  • Replicação geográfica ativa
  • Criação de uma cópia do banco de dados
  • Restauração de arquivo de backup para a instância gerenciada do SQL do Azure

Importante

Não há suporte para fazer backup manual COPY-ONLY de um banco de dados criptografado pelo TDE gerenciado pelo serviço na Instância Gerenciada de SQL do Azure, pois o certificado usado para criptografia não é acessível. Use o recurso de restauração pontual de modo a mover esse tipo de banco de dados para outra Instância Gerenciada de SQL ou alternar para chave gerenciada pelo cliente.

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. Se um novo banco de dados for criado durante a importação, ele usará as configurações de TDE padrão do servidor lógico para o Banco de Dados SQL do Azure ou a Instância Gerenciada de SQL do Azure.

Gerenciar Transparent Data Encryption

Gerencie a TDE no portal do Azure.

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

Habilitar e desabilitar a TDE no nível do banco de dados. Para a Instância Gerenciada de SQL do Azure, use T-SQL (Transact-SQL) a fim de ativar e desativar a TDE em um banco de dados. No Banco de Dados SQL do Azure e no Azure Synapse, você pode gerenciar a TDE para o banco de dados no portal do Azure depois de entrar com a conta de administrador ou colaborador do Azure. Localize as configurações da TDE em seu banco de dados do usuário. Por padrão, é usada a chave de criptografia no nível do servidor. Um certificado de TDE é gerado automaticamente para o servidor que contém o banco de dados.

Captura de tela do menu de criptografia de dados do portal do Azure para um banco de dados.

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

Captura de tela do menu do Transparent Data Encryption do portal do Azure para um banco de dados.

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, confira TDE (Transparent Data Encryption) com chaves gerenciadas pelo cliente no nível do banco de dados.