Transparent Data Encryption para o banco de dados SQL, o SQL Instância Gerenciada e o Azure Synapse AnalyticsTransparent data encryption for SQL Database, SQL Managed Instance, and Azure Synapse Analytics

APLICA-SE A: Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics

A TDE (Transparent Data Encryption) ajuda a proteger o banco de dados SQL do Azure, o SQL instância gerenciada do Azure e a análise de Synapse do Azure contra a ameaça de atividades offline mal-intencionadas, criptografando os dados em repouso.Transparent data encryption (TDE) helps protect Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse Analytics against the threat of malicious offline activity by encrypting data at rest. 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.It performs real-time encryption and decryption of the database, associated backups, and transaction log files at rest without requiring changes to the application. Por padrão, o TDE está habilitado para todos os bancos de dados SQL recentemente implantados e deve ser habilitado manualmente para bancos de dados do Azure SQL, Instância Gerenciada do Azure SQL.By default, TDE is enabled for all newly deployed SQL Databases and must be manually enabled for older databases of Azure SQL Database, Azure SQL Managed Instance. O TDE deve ser habilitado manualmente para a análise de Synapse do Azure.TDE must be manually enabled for Azure Synapse Analytics.

A TDE realiza a criptografia e a descriptografia de E/S em tempo real dos dados no nível da página.TDE performs real-time I/O encryption and decryption of the data at the page level. Cada página é descriptografada quando é lida na memória e, em seguida, criptografada antes de ser gravada no disco.Each page is decrypted when it's read into memory and then encrypted before being written to disk. O 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).TDE encrypts the storage of an entire database by using a symmetric key called the Database Encryption Key (DEK). Na inicialização do banco de dados, o DEK criptografado é descriptografado e usado para descriptografia e recriptografia dos arquivos de banco de dados no processo do mecanismo de banco de dados SQL Server.On database startup, the encrypted DEK is decrypted and then used for decryption and re-encryption of the database files in the SQL Server database engine process. DEK é protegido pelo protetor de TDE.DEK is protected by the TDE protector. O protetor de TDE é um certificado gerenciado por serviço (criptografia de dados transparente gerenciada por serviço) ou uma chave assimétrica armazenada em Azure Key Vault (Transparent Data Encryption gerenciada pelo cliente).TDE protector is either a service-managed certificate (service-managed transparent data encryption) or an asymmetric key stored in Azure Key Vault (customer-managed transparent data encryption).

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.For Azure SQL Database and Azure Synapse, the TDE protector is set at the server level and is inherited by all databases associated with that server. Para a Instância Gerenciada do 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.For Azure SQL Managed Instance, the TDE protector is set at the instance level and it is inherited by all encrypted databases on that instance. O termo servidor refere-se ao servidor e instância ao longo deste documento, a menos que indicado de forma diferente.The term server refers both to server and instance throughout this document, unless stated differently.

Importante

Todos os bancos de dados recém-criados no banco de dados SQL são criptografados por padrão usando a Transparent Data Encryption gerenciada por serviço.All newly created databases in SQL Database are encrypted by default by using service-managed transparent data encryption. Os bancos de dados SQL existentes criados antes de 2017 de maio e de SQL criados por meio da restauração, da replicação geográfica e da cópia do banco de dados não são criptografados por padrão.Existing SQL databases created before May 2017 and SQL databases created through restore, geo-replication, and database copy are not encrypted by default. Os bancos de dados existentes do SQL Instância Gerenciada criados antes de fevereiro de 2019 não são criptografados por padrão.Existing SQL Managed Instance databases created before February 2019 are not encrypted by default. Os bancos de dados do SQL Instância Gerenciada criados por meio da restauração herdam o status de criptografia da origem.SQL Managed Instance databases created through restore inherit encryption status from the source.

Observação

TDE não pode ser usado para criptografar bancos de dados do sistema, como o banco de dados mestre , no banco de dados SQL do Azure e no azure SQL instância gerenciada.TDE cannot be used to encrypt system databases, such as the master database, in Azure SQL Database and Azure SQL Managed Instance. O banco de dados mestre contém os objetos necessários para executar as operações de TDE nos bancos de dados do usuário.The master database contains objects that are needed to perform the TDE operations on the user databases. É recomendável não armazenar nenhum dado confidencial nos bancos de dados do sistema.It is recommended to not store any sensitive data in the system databases. A criptografia de infraestrutura agora está sendo distribuída, o que criptografa os bancos de dados do sistema, incluindo o mestre.Infrastructure encryption is now being rolled out which encrypts the system databases including master.

Transparent Data Encryption de serviço gerenciadoService-managed transparent data encryption

No Azure, a configuração padrão para TDE é que o DEK é protegido por um certificado de servidor interno.In Azure, the default setting for TDE is that the DEK is protected by a built-in server certificate. O certificado de servidor interno é exclusivo para cada servidor e o algoritmo de criptografia usado é o AES 256.The built-in server certificate is unique for each server and the encryption algorithm used is AES 256. Se um banco de dados estiver em um relacionamento de replicação geográfica, tanto os bancos de dados primários como os secundários geográficos serão protegidos pela chave de servidor pai do banco de dados primário.If a database is in a geo-replication relationship, both the primary and geo-secondary databases are protected by the primary database's parent server key. Se dois bancos de dados estiverem conectados ao mesmo servidor, eles também compartilharão o mesmo certificado interno.If two databases are connected to the same server, they also share the same built-in certificate. A Microsoft gira automaticamente esses certificados em conformidade com a política de segurança interna e a chave raiz é protegida por um armazenamento secreto interno da Microsoft.Microsoft automatically rotates these certificates in compliance with the internal security policy and the root key is protected by a Microsoft internal secret store. Os clientes podem verificar o banco de dados SQL e a conformidade do SQL Instância Gerenciada com políticas de segurança interna em relatórios de auditoria de terceiros independentes disponíveis na central de confiabilidade da Microsoft.Customers can verify SQL Database and SQL Managed Instance compliance with internal security policies in independent third-party audit reports available on the Microsoft Trust Center.

A Microsoft também move e gerencia as chaves conforme necessário para replicação geográfica e restaurações.Microsoft also seamlessly moves and manages the keys as needed for geo-replication and restores.

Transparent Data Encryption gerenciada pelo cliente – Bring Your Own KeyCustomer-managed transparent data encryption - Bring Your Own Key

O TDE gerenciado pelo cliente também é conhecido como suporte de Bring Your Own Key (BYOK) para TDE.Customer-managed TDE is also referred to as Bring Your Own Key (BYOK) support for TDE. Nesse cenário, o protetor de TDE que criptografa o DEK é uma chave assimétrica gerenciada pelo cliente, que é armazenada em um Azure Key Vault gerenciado e de Propriedade do cliente (sistema de gerenciamento de chaves externas baseado em nuvem do Azure) e nunca deixa o cofre de chaves.In this scenario, the TDE Protector that encrypts the DEK is a customer-managed asymmetric key, which is stored in a customer-owned and managed Azure Key Vault (Azure's cloud-based external key management system) and never leaves the key vault. O protetor de TDE pode ser gerado pelo cofre de chaves ou transferido para o cofre de chaves de um dispositivo de HSM (módulo de segurança de hardware) local.The TDE Protector can be generated by the key vault or transferred to the key vault from an on-premises hardware security module (HSM) device. O banco de dados SQL, o SQL Instância Gerenciada e o Azure Synapse precisam receber permissões para o cofre de chaves de Propriedade do cliente para descriptografar e criptografar o DEK.SQL Database, SQL Managed Instance, and Azure Synapse need to be granted permissions to the customer-owned key vault to decrypt and encrypt the DEK. Se as permissões do servidor para o cofre de chaves forem revogadas, um banco de dados ficará inacessível e todos serão criptografadosIf permissions of the server to the key vault are revoked, a database will be inaccessible, and all data is encrypted

Com a integração do TDE ao Azure Key Vault, os usuários podem controlar as principais tarefas de gerenciamento, incluindo rotações de chave, permissões de cofre de chaves, backups de chaves e habilitar auditoria/relatório em todos os protetores de TDE usando a funcionalidade do Azure Key Vault.With TDE with Azure Key Vault integration, users can control key management tasks including key rotations, key vault permissions, key backups, and enable auditing/reporting on all TDE protectors using Azure Key Vault functionality. O Key Vault fornece gerenciamento de chaves central, aproveita os HSMs monitorados rigidamente e permite a separação de tarefas entre o gerenciamento de chaves e dados para ajudar a atender à conformidade com as políticas de segurança.Key Vault provides central key management, leverages tightly monitored HSMs, and enables separation of duties between management of keys and data to help meet compliance with security policies. Para saber mais sobre o BYOK para o banco de dados SQL do Azure e o Azure Synapse, consulte Transparent Data Encryption com integração de Azure Key Vault.To learn more about BYOK for Azure SQL Database and Azure Synapse, see Transparent data encryption with Azure Key Vault integration.

Para começar a usar o TDE com a integração do Azure Key Vault, consulte o guia de instruções ativar a Transparent Data Encryption usando sua própria chave de Key Vault.To start using TDE with Azure Key Vault integration, see the how-to guide Turn on transparent data encryption by using your own key from Key Vault.

Mover um banco de dados protegido por Transparent Data EncryptionMove a transparent data encryption-protected database

Não é necessário descriptografar bancos de dados para operações no Azure.You don't need to decrypt databases for operations within 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.The TDE settings on the source database or primary database are transparently inherited on the target. As operações incluídas envolvem:Operations that are included involve:

  • Restauração geográficaGeo-restore
  • Restauração via autoatendimento point-in-timeSelf-service point-in-time restore
  • Restauração de um banco de dados excluídoRestoration of a deleted database
  • Replicação geográfica ativaActive geo-replication
  • Criação de uma cópia do banco de dadosCreation of a database copy
  • Restauração de arquivo de backup para a instância gerenciada do SQL do AzureRestore of backup file to Azure SQL Managed Instance

Importante

Não há suporte para fazer backup somente cópia manual de um banco de dados criptografado pelo TDE gerenciado pelo serviço no Azure SQL Instância Gerenciada, pois o certificado usado para criptografia não está acessível.Taking manual COPY-ONLY backup of a database encrypted by service-managed TDE is not supported in Azure SQL Managed Instance, since the certificate used for encryption is not accessible. Use o recurso de restauração pontual para mover esse tipo de banco de dados para outro Instância Gerenciada SQL ou alterne para a chave gerenciada pelo cliente.Use point-in-time-restore feature to move this type of database to another SQL Managed Instance, or switch to customer-managed key.

Quando você exporta um banco de dados protegido por TDE, o conteúdo exportado do banco de dados não é criptografado.When you export a TDE-protected database, the exported content of the database isn't encrypted. Esse conteúdo exportado é armazenado em arquivos BACPAC não criptografados.This exported content is stored in unencrypted BACPAC files. Certifique-se de proteger os arquivos BACPAC adequadamente e habilite TDE após a conclusão da importação do novo banco de dados.Be sure to protect the BACPAC files appropriately and enable TDE after import of the new database is finished.

Por exemplo, se o arquivo BACPAC for exportado de uma instância de SQL Server, o conteúdo importado do novo banco de dados não será criptografado automaticamente.For example, if the BACPAC file is exported from a SQL Server instance, the imported content of the new database isn't automatically encrypted. 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.Likewise, if the BACPAC file is imported to a SQL Server instance, the new database also isn't automatically encrypted.

A única exceção é quando você exporta um banco de dados do para o e do banco de dados SQL.The one exception is when you export a database to and from SQL Database. O TDE está habilitado no novo banco de dados, mas o próprio arquivo BACPAC ainda não está criptografado.TDE is enabled on the new database, but the BACPAC file itself still isn't encrypted.

Gerenciar a Transparent Data EncryptionManage transparent data encryption

Gerenciar TDE no portal do Azure.Manage TDE in the Azure portal.

Para configurar o TDE por meio do portal do Azure, você deve estar conectado como o proprietário do Azure, o colaborador ou o Gerenciador de segurança do SQL.To configure TDE through the Azure portal, you must be connected as the Azure Owner, Contributor, or SQL Security Manager.

Habilite e desabilite o TDE no nível do banco de dados.Enable and disable TDE on the database level. Para o Azure SQL Instância Gerenciada use Transact-SQL (T-SQL) para ativar e desativar o TDE em um banco de dados.For Azure SQL Managed Instance use Transact-SQL (T-SQL) to turn TDE on and off on a database. Para o banco de dados SQL do Azure e o Azure Synapse, você pode gerenciar TDE para o banco de dados no portal do Azure depois de entrar com a conta de administrador ou colaborador do Azure.For Azure SQL Database and Azure Synapse, you can manage TDE for the database in the Azure portal after you've signed in with the Azure Administrator or Contributor account. Localize as configurações da TDE em seu banco de dados do usuário.Find the TDE settings under your user database. Por padrão, é utilizada a Transparent Data Encryption de serviço gerenciado.By default, service-managed transparent data encryption is used. Um certificado TDE é gerado automaticamente para o servidor que contém o banco de dados.A TDE certificate is automatically generated for the server that contains the database.

Transparent Data Encryption de serviço gerenciado

Você define a chave mestra TDE, conhecida como o protetor de TDE, no nível do servidor ou da instância.You set the TDE master key, known as the TDE protector, at the server or instance level. Para usar o TDE com suporte do BYOK e proteger seus bancos de dados com uma chave de Key Vault, abra as configurações do TDE em seu servidor.To use TDE with BYOK support and protect your databases with a key from Key Vault, open the TDE settings under your server.

Transparent Data Encryption com suporte Bring Your Own Key