MEMBUAT KUNCI ENKRIPSI DATABASE (Transact-SQL)

Berlaku untuk: SQL Server (semua versi yang didukung) Azure SQL Managed Instance Analytics Platform System (PDW)

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

Ikon tautan topikKonvensi Sintaks Transact-SQL

Sintaks

-- 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 dan 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 MENURUT SERTIFIKAT SERVER Encryptor_Name
Menentukan nama enkripsi yang digunakan untuk mengenkripsi kunci enkripsi database.

ENKRIPSI MENURUT ENCRYPTOR_NAME KUNCI ASIMETRIS SERVER
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 Database 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 untuk 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 VIEW DEFINITION 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 AdventureWorks2012;  
GO  
CREATE DATABASE ENCRYPTION KEY  
WITH ALGORITHM = AES_256  
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;  
GO  

Lihat juga

Transparent Data Encryption (TDE)
SQL Server Encryption
SQL Server dan Kunci Enkripsi Database (Mesin Database)
Hierarki Enkripsi
ALTER DATABASE SET Options (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
HILANGKAN KUNCI ENKRIPSI DATABASE (Transact-SQL)
sys.dm_database_encryption_keys (Transact-SQL)