Bagikan melalui


Pelajaran 5. (Opsional) Mengenkripsi database Anda menggunakan TDE

Sebagai langkah opsional, Anda dapat mengenkripsi database yang baru dibuat. Enkripsi data transparan (TDE) melakukan enkripsi I/O real time dan dekripsi data dan file log. Enkripsi semacam ini menggunakan kunci enkripsi database (DEK), yang disimpan dalam catatan boot database untuk ketersediaan selama pemulihan. Untuk informasi selengkapnya, lihat Enkripsi Data Transparan (TDE) dan Memindahkan Database yang Dilindungi TDE ke Server SQL Lain.

Pelajaran ini mengasumsikan Anda sudah menyelesaikan langkah-langkah berikut:

  • Anda memiliki akun Azure Storage.

  • Anda telah membuat kontainer di bawah akun Azure Storage Anda.

  • Anda telah membuat kebijakan pada kontainer dengan hak baca, tulis, dan daftar. Anda juga membuat kunci SAS.

  • Anda telah membuat kredensial SQL Server pada komputer sumber.

  • Anda telah membuat database dengan mengikuti langkah-langkah yang dijelaskan dalam Pelajaran 4.

Jika Anda ingin mengenkripsi database, ikuti langkah-langkah berikut:

  1. Di komputer sumber, ubah dan jalankan pernyataan berikut di jendela kueri:

    
    -- 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. Kemudian, enkripsi database baru Anda di komputer sumber dengan mengikuti langkah-langkah berikut:

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

Jika Anda ingin mempelajari status enkripsi database dan kunci enkripsi database terkait, jalankan pernyataan berikut:

  
SELECT * FROM sys.dm_database_encryption_keys;   
GO  
  

Untuk informasi terperinci tentang pernyataan Transact-SQL yang telah digunakan dalam pelajaran ini, lihat MEMBUAT DATABASE (SQL Server Transact-SQL), ALTER DATABASE (Transact-SQL), CREATE MASTER KEY (Transact-SQL), CREATE CERTIFICATE (Transact-SQL), dan sys.dm_database_encryption_keys (Transact-SQL).

Pelajaran Berikutnya:

Pelajaran 6: Memigrasikan database dari komputer sumber lokal ke komputer tujuan di Azure