Cifrado de datos transparente para SQL Database, SQL Managed Instance y Azure Synapse AnalyticsTransparent data encryption for SQL Database, SQL Managed Instance, and Azure Synapse Analytics

SE APLICA A: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

El cifrado de datos transparente (TDE) ayuda a proteger Azure SQL Database, Azure SQL Managed Instance y Azure Synapse Analytics frente a la amenaza de actividad malintencionada sin conexión, ya que cifra los datos en reposo.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. También realiza cifrado y descifrado de la base de datos en tiempo real, copias de seguridad asociadas y archivos de registro de transacciones en reposo sin necesidad de efectuar cambios en la aplicación.It performs real-time encryption and decryption of the database, associated backups, and transaction log files at rest without requiring changes to the application. El TDE se habilita de manera predeterminada para todas las instancias de SQL Database recién implementadas, y es preciso habilitarlo manualmente para las bases de datos anteriores de Azure SQL Database y Azure SQL Managed Instance.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. TDE debe habilitarse manualmente para Azure Synapse Analytics.TDE must be manually enabled for Azure Synapse Analytics.

El TDE efectúa el cifrado y descifrado de E/S en tiempo real de los datos en el nivel de página.TDE performs real-time I/O encryption and decryption of the data at the page level. Todas las páginas se descifran cuando se leen en la memoria y, a continuación, se cifran antes de escribirse en el disco.Each page is decrypted when it's read into memory and then encrypted before being written to disk. El TDE cifra el almacenamiento de una base de datos completa mediante una clave simétrica denominada clave de cifrado de base de datos (DEK).TDE encrypts the storage of an entire database by using a symmetric key called the Database Encryption Key (DEK). Al iniciarse la base de datos, la DEK cifrada se descifra y luego se usa para descifrar y volver a cifrar los archivos de base de datos en el proceso del motor de base de datos de 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. A la clave de cifrado se le aplica el protector de TDE.DEK is protected by the TDE protector. El protector de TDE es un certificado administrado por el servicio (cifrado de datos transparentes administrado por el servicio) o una clave asimétrica almacenada en Azure Key Vault (cifrado de datos transparentes administrado por el 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).

En el caso de Azure SQL Database y Azure Synapse, el protector del TDE se establece en el nivel de servidor y lo heredan todas las bases de datos asociadas a ese 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. En el caso de la Instancia administrada de Azure SQL Database, el protector de TDE se establece en el nivel de instancia y lo heredan todas las bases de datos cifradas que se encuentren en dicha instancia.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. El término servidor hace referencia tanto a servidor como a instancia a lo largo de este documento, a menos que se indique lo contrario.The term server refers both to server and instance throughout this document, unless stated differently.

Importante

Todas las bases de datos recién creadas en SQL Database se cifran de forma predeterminada mediante el cifrado de datos transparente administrado por el servicio.All newly created databases in SQL Database are encrypted by default by using service-managed transparent data encryption. Las bases de datos SQL existentes creadas antes de mayo de 2017 y las bases de datos SQL creadas mediante restauración, replicación geográfica y copia de base de datos no se cifran de forma predeterminada.Existing SQL databases created before May 2017 and SQL databases created through restore, geo-replication, and database copy are not encrypted by default. Las bases de datos de SQL Managed Instance existentes que se crearon antes de febrero de 2019 no se cifran de forma predeterminada.Existing SQL Managed Instance databases created before February 2019 are not encrypted by default. Las bases de datos de SQL Managed Instance que se crearon mediante restauración heredan el estado de cifrado del origen.SQL Managed Instance databases created through restore inherit encryption status from the source.

Nota

No se puede usar TDE para cifrar las base de datos del sistema, como la base de datos maestra en Azure SQL Database ni en Azure SQL Managed Instance.TDE cannot be used to encrypt system databases, such as the master database, in Azure SQL Database and Azure SQL Managed Instance. La base de datos maestra contiene objetos que son necesarios para realizar las operaciones de TDE en las bases de datos de usuario.The master database contains objects that are needed to perform the TDE operations on the user databases. Se recomienda que no almacene información confidencial en las bases de datos del sistema.It is recommended to not store any sensitive data in the system databases. El cifrado de infraestructura se está implementando, de modo que las bases de datos del sistema se cifran, incluida la base de datos maestra.Infrastructure encryption is now being rolled out which encrypts the system databases including master.

Cifrado de datos transparente administrado por el servicioService-managed transparent data encryption

En Azure, la configuración predeterminada de TDE es que la clave de cifrado está protegida mediante un certificado de servidor integrado.In Azure, the default setting for TDE is that the DEK is protected by a built-in server certificate. El certificado de servidor integrado es único para cada servidor y el algoritmo de cifrado que se usa es AES 256.The built-in server certificate is unique for each server and the encryption algorithm used is AES 256. Si una base de datos está en una relación de replicación geográfica, tanto la base de datos principal como la secundaria con replicación geográfica están protegidas por la clave de servidor principal de la base de datos principal.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. Si hay dos bases de datos conectadas al mismo servidor, también comparten el mismo certificado integrado.If two databases are connected to the same server, they also share the same built-in certificate. Microsoft rota automáticamente estos certificados en cumplimiento de la directiva de seguridad interna y se protege la clave raíz mediante un almacén secreto interno de 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. Los clientes pueden verificar el cumplimiento de SQL Database e Instancia administrada de SQL con las directivas de seguridad internas en los informes de auditoría de terceros independientes disponibles en el Centro de confianza de 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.

Microsoft también mueve y administra con total fluidez las claves según sea necesario para la replicación geográfica y las restauraciones.Microsoft also seamlessly moves and manages the keys as needed for geo-replication and restores.

Cifrado de datos transparente administrado por el cliente (Bring Your Own Key)Customer-managed transparent data encryption - Bring Your Own Key

La TDE administrada por el cliente también se conoce como compatibilidad de Bring Your Own Key (BYOK) con TDE.Customer-managed TDE is also referred to as Bring Your Own Key (BYOK) support for TDE. En este escenario, el protector de TDE que cifra la clave de cifrado es una clave asimétrica administrada por el cliente, que se almacena en una instancia de Azure Key Vault que es propiedad del cliente y que este administra (un sistema de administración de claves externas basado en la nube de Azure), y que nunca sale del almacén de claves.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. El protector del TDE lo puede generar el almacén de claves, o bien se puede transferir a él desde un dispositivo del módulo de seguridad de hardware (HSM) 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. SQL Database, Instancia administrada de SQL y Azure Synapse deben tener permisos para el almacén de claves propiedad del cliente para descifrar y cifrar el 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. Si se revocan los permisos del servidor para el almacén de claves, no se podrá acceder a las bases de datos y se cifrarán todos los datos.If permissions of the server to the key vault are revoked, a database will be inaccessible, and all data is encrypted

Gracias al cifrado de datos transparente con integración de Azure Key Vault, los usuarios pueden controlar las tareas de administración de claves, entre las que se incluyen las rotaciones de claves, los permisos del almacén de claves y la copia de seguridad de claves, así como la opción de llevar a cabo auditorías o crear informes sobre todos los protectores de TDE mediante la funcionalidad de 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. Key Vault ofrece una administración centralizada de claves, aprovecha los módulos de seguridad de hardware, a los que se les supervisa intensamente, y permite la separación de obligaciones entre la administración de las claves y de los datos, lo que ayudar a cumplir las directivas de seguridad.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 más información sobre BYOK para Azure SQL Database y Azure Synapse, consulte el artículo acerca del cifrado de datos transparente con la integración 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 empezar a usar el cifrado de datos transparente con integración de Azure Key Vault, consulte la guía paso a paso en la que se explica cómo habilitar el cifrado de datos transparente mediante su propia clave desde Azure 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.

Traslado de una base de datos protegida por cifrado de datos transparenteMove a transparent data encryption-protected database

No es necesario descifrar las bases de datos para las operaciones dentro de Azure.You don't need to decrypt databases for operations within Azure. La configuración de TDE en la base de datos de origen o la base de datos principal se hereda de forma transparente en el destino.The TDE settings on the source database or primary database are transparently inherited on the target. Entre las operaciones incluidas están las siguientes:Operations that are included involve:

  • Geo-restoreGeo-restore
  • Restauración a un momento específico de autoservicioSelf-service point-in-time restore
  • Restauración de una base de datos eliminadaRestoration of a deleted database
  • Replicación geográfica activaActive geo-replication
  • Creación de una copia de base de datosCreation of a database copy
  • Restauración de archivo de copia de seguridad a la Instancia administrada de Azure SQL DatabaseRestore of backup file to Azure SQL Managed Instance

Importante

En Azure SQL Managed Instance no se permite realizar copias de seguridad manuales de una base de datos cifrada por TDE administrada por el servicio, ya que el certificado que se usa para el cifrado no es accesible.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 la característica de restauración de punto en el tiempo para mover este tipo de base de datos a otra instancia de SQL Managed Instance o cambie a una clave administrada por el cliente.Use point-in-time-restore feature to move this type of database to another SQL Managed Instance, or switch to customer-managed key.

Si exporta una base de datos protegida mediante TDE, el contenido exportado de la base de datos no se cifra.When you export a TDE-protected database, the exported content of the database isn't encrypted. Este contenido exportado se almacena en archivos BACPAC no cifrados.This exported content is stored in unencrypted BACPAC files. Asegúrese de proteger adecuadamente los archivos BACPAC y de habilitar el TDE cuando haya finalizado la importación de la nueva base de datos.Be sure to protect the BACPAC files appropriately and enable TDE after import of the new database is finished.

Por ejemplo, si el archivo BACPAC se exporta desde una instancia de SQL Server, el contenido importado de la nueva base de datos no se cifra automáticamente.For example, if the BACPAC file is exported from a SQL Server instance, the imported content of the new database isn't automatically encrypted. Del mismo modo, si el archivo BACPAC se importa a una instancia de SQL Server, la base de datos nueva tampoco se cifra automáticamente.Likewise, if the BACPAC file is imported to a SQL Server instance, the new database also isn't automatically encrypted.

La única excepción es cuando se exporta una base de datos con una instancia de SQL Database como origen y destino.The one exception is when you export a database to and from SQL Database. El TDE se habilita en la nueva base de datos, pero el propio archivo BACPAC sigue sin estar cifrado.TDE is enabled on the new database, but the BACPAC file itself still isn't encrypted.

Administración del cifrado de datos transparenteManage transparent data encryption

Administre TDE en Azure Portal.Manage TDE in the Azure portal.

Para configurar el TDE desde Azure Portal, es preciso estar conectado como propietario de Azure, colaborador o administrador de seguridad de SQL.To configure TDE through the Azure portal, you must be connected as the Azure Owner, Contributor, or SQL Security Manager.

Habilite y deshabilite el TDE en el nivel de base de datos.Enable and disable TDE on the database level. En el caso de Instancia administrada de Azure SQL Database, use Transact-SQL (T-SQL) para activar y desactivar el TDE en las bases de datos.For Azure SQL Managed Instance use Transact-SQL (T-SQL) to turn TDE on and off on a database. Para Azure SQL Database y Azure Synapse, puede administrar TDE para la base de datos en Azure Portal después de haber iniciado sesión con la cuenta de administrador o colaborador de 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. Busque la configuración del TDE en la base de datos de usuario.Find the TDE settings under your user database. De forma predeterminada, se usa el cifrado de datos transparente administrado por el servicio.By default, service-managed transparent data encryption is used. Se genera automáticamente un certificado de cifrado de datos transparente para el servidor que contiene la base de datos.A TDE certificate is automatically generated for the server that contains the database.

Cifrado de datos transparente administrado por el servicio

Establezca la clave maestra de TDE, conocida como protector del TDE, en el nivel de instancia o de servidor.You set the TDE master key, known as the TDE protector, at the server or instance level. Para usar el cifrado de datos transparente con compatibilidad con Bring Your Own Key y proteger las bases de datos con una clave de Key Vault, abra la configuración de TDE en su servidor.To use TDE with BYOK support and protect your databases with a key from Key Vault, open the TDE settings under your server.

Cifrado de datos transparente con compatibilidad con Bring Your Own Key