MEMBUAT KUNCI ENKRIPSI DATABASE (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)

Membuat kunci enkripsi yang digunakan untuk mengenkripsi database secara transparan. Untuk informasi selengkapnya tentang enkripsi data transparan (TDE), lihat Enkripsi Data Transparan (TDE).

Konvensi sintaks transact-SQL

Sintaksis

-- Syntax for SQL Server  

CREATE DATABASE ENCRYPTION KEY  
       WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }  
   ENCRYPTION BY SERVER   
    {  
        CERTIFICATE Encryptor_Name |  
        ASYMMETRIC KEY Encryptor_Name  
    }  
[ ; ]  
-- Syntax for Parallel Data Warehouse  

CREATE DATABASE ENCRYPTION KEY  
       WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }  
   ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name   
[ ; ]  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

DENGAN ALGORITMA = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
Menentukan algoritma enkripsi yang digunakan untuk kunci enkripsi.

Peringatan

Dimulai dengan SQL Server 2016, semua algoritma selain AES_128, AES_192, dan AES_256 tidak digunakan lagi. Untuk menggunakan algoritma yang lebih lama (tidak disarankan) Anda harus mengatur database ke tingkat kompatibilitas database 120 atau lebih rendah.

ENKRIPSI BERDASARKAN SERTIFIKAT SERVER Encryptor_Name
Menentukan nama enkripsi yang digunakan untuk mengenkripsi kunci enkripsi database.

ENKRIPSI BERDASARKAN KUNCI ASIMETRIS SERVER Encryptor_Name
Menentukan nama kunci asimetris yang digunakan untuk mengenkripsi kunci enkripsi database. Untuk mengenkripsi kunci enkripsi database dengan kunci asimetris, kunci asimetris harus berada di penyedia manajemen kunci yang dapat diperluas.

Keterangan

Kunci enkripsi database diperlukan sebelum database dapat dienkripsi dengan menggunakan enkripsi data transparan (TDE). Ketika database dienkripsi secara transparan, seluruh database dienkripsi pada tingkat file, tanpa modifikasi kode khusus. Sertifikat atau kunci asimetris yang digunakan untuk mengenkripsi kunci enkripsi database harus terletak di database sistem master.

Sertifikat atau kunci asimetris yang digunakan untuk TDE terbatas pada ukuran kunci privat 3072 bit.

Pernyataan enkripsi database hanya diperbolehkan pada database pengguna.

Kunci enkripsi database tidak dapat diekspor dari database. Ini hanya tersedia untuk sistem, untuk pengguna yang memiliki izin penelusuran kesalahan di server, dan kepada pengguna yang memiliki akses ke sertifikat yang mengenkripsi dan mendekripsi kunci enkripsi database.

Kunci enkripsi database tidak harus diregenerasi ketika pemilik database (dbo) diubah.

Kunci enkripsi database secara otomatis dibuat untuk database SQL Database. Anda tidak perlu membuat kunci menggunakan pernyataan CREATE DATABASE ENCRYPTION KEY.

Izin

Memerlukan izin CONTROL pada database dan izin LIHAT DEFINISI pada sertifikat atau kunci asimetris yang digunakan untuk mengenkripsi kunci enkripsi database.

Contoh

Untuk contoh tambahan menggunakan TDE, lihat Enkripsi Data Transparan (TDE), Mengaktifkan TDE di SQL Server Menggunakan EKM, dan Extensible Key Management Menggunakan Azure Key Vault (SQL Server).

Contoh berikut membuat kunci enkripsi database dengan menggunakan AES_256 algoritma, dan melindungi kunci privat dengan sertifikat bernama MyServerCert.

USE AdventureWorks2022;  
GO  
CREATE DATABASE ENCRYPTION KEY  
WITH ALGORITHM = AES_256  
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;  
GO  

Lihat Juga

Transparent Data Encryption (TDE)
SQL Server Encryption
Kunci Enkripsi SQL Server dan Database (Mesin Database)
Hierarki Enkripsi
UBAH Opsi SET DATABASE (Transact-SQL)
MENGUBAH KUNCI ENKRIPSI DATABASE (Transact-SQL)
HILANGKAN KUNCI ENKRIPSI DATABASE (Transact-SQL)
sys.dm_database_encryption_keys (T-SQL)