Condividi tramite


Lezione 5. (Facoltativo) Crittografare il database con TDE

Come passaggio facoltativo, è possibile crittografare il database appena creato. Transparent Data Encryption (TDE) esegue la crittografia E/O in tempo reale e la decrittografia dei file di dati e di log. Questo tipo di crittografia usa una chiave di crittografia del database (DEK), archiviata nel record di avvio del database per la disponibilità durante il ripristino. Per altre informazioni, vedere Transparent Data Encryption (TDE) e Spostare un database protetto TDE in un altro SQL Server.

Questa lezione presuppone che siano già stati completati i passaggi seguenti:

  • È disponibile un account di archiviazione di Azure.

  • È stato creato un contenitore nell'account di archiviazione di Azure.

  • Hai creato una politica su un contenitore con diritti di lettura, scrittura e elenco. È stata generata anche una chiave SAS.

  • È stata creata una credenziale di SQL Server nel computer di origine.

  • È stato creato un database seguendo i passaggi descritti nella lezione 4.

Per crittografare un database, seguire questa procedura:

  1. Nel computer di origine modificare ed eseguire le istruzioni seguenti in una finestra di query:

    
    -- 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. Crittografare quindi il nuovo database nel computer di origine seguendo questa procedura:

    
    -- 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  
    
    

Per informazioni sullo stato di crittografia di un database e sulle chiavi di crittografia del database associate, eseguire l'istruzione seguente:

  
SELECT * FROM sys.dm_database_encryption_keys;   
GO  
  

Per informazioni dettagliate sulle istruzioni Transact-SQL usate in questa lezione, vedere CREATE DATABASE (SQL Server Transact-SQL), ALTER DATABASE (Transact-SQL), CREATE MASTER KEY (Transact-SQL), CREATE CERTIFICATE (Transact-SQL)e sys.dm_database_encryption_keys (Transact-SQL).

Lezione successiva:

Lezione 6: Eseguire la migrazione di un database da un computer di origine locale a un computer di destinazione in Azure