Compartir a través de


Lección 5. (Opcional) Cifrado de la base de datos mediante TDE

Como paso opcional, puede cifrar la base de datos recién creada. El cifrado de datos transparente (TDE) realiza el cifrado de E/S en tiempo real y el descifrado de los archivos de datos y de registro. Este tipo de cifrado usa una clave de cifrado de base de datos (DEK), que se almacena en el registro de arranque de la base de datos para la disponibilidad durante la recuperación. Para obtener más información, vea Cifrado de datos transparente (TDE) y Traslado de una base de datos protegida por TDE a otro servidor SQL Server.

En esta lección se supone que ya ha completado los pasos siguientes:

  • Tiene una cuenta de Azure Storage.

  • Ha creado un contenedor en la cuenta de Azure Storage.

  • Ha creado una política en un contenedor con derechos de lectura, escritura y listar. Usted también generó una clave SAS.

  • Ha creado una credencial de SQL Server en la máquina de origen.

  • Ha creado una base de datos siguiendo los pasos descritos en la lección 4.

Si desea cifrar una base de datos, siga estos pasos:

  1. En el equipo de origen, modifique y ejecute las siguientes instrucciones en una ventana de consulta:

    
    -- Create a master key and a server certificate   
    USE master   
    GO   
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MySQLKey01';   
    GO   
    CREATE CERTIFICATE MySQLCert WITH SUBJECT = 'SQL - Azure Storage Certification'   
    GO   
    -- Create a backup of the server certificate in the master database.   
    -- Store TDS certificates in the source machine locally.   
    BACKUP CERTIFICATE MySQLCert   
    TO FILE = 'C:\certs\MySQLCert.CER'   
    WITH PRIVATE KEY   
    (   
    FILE = 'C:\certs\MySQLPrivateKeyFile.PVK',   
    ENCRYPTION BY PASSWORD = 'MySQLKey01'   
    );  
    
    
  2. A continuación, cifre la nueva base de datos en la máquina de origen siguiendo estos pasos:

    
    -- Switch to the new database.   
    -- Create a database encryption key, that is protected by the server certificate in the master database.    
    -- Alter the new database to encrypt the database using TDE.   
    USE TestDB1;   
    GO   
    -- Encrypt your database   
    CREATE DATABASE ENCRYPTION KEY   
    WITH ALGORITHM = AES_256   
    ENCRYPTION BY SERVER CERTIFICATE MySQLCert   
    GO   
    
    ALTER DATABASE TestDB1   
    SET ENCRYPTION ON   
    GO  
    
    

Si desea obtener información sobre el estado de cifrado de una base de datos y sus claves de cifrado de base de datos asociadas, ejecute la siguiente instrucción:

  
SELECT * FROM sys.dm_database_encryption_keys;   
GO  
  

Para obtener información detallada sobre las instrucciones Transact-SQL que se han usado en esta lección, vea CREATE DATABASE (SQL Server Transact-SQL), ALTER DATABASE (Transact-SQL), CREATE MASTER KEY (Transact-SQL), CREATE CERTIFICATE (Transact-SQL)) y sys.dm_database_encryption_keys (Transact-SQL)).

Lección siguiente:

Lección 6: Migración de una base de datos de una máquina de origen local a una máquina de destino en Azure