MEMBUAT KUNCI ENKRIPSI DATABASE (Transact-SQL)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Sistem Platform Azure SQL Managed Instance
Analytics (PDW)
Membuat kunci enkripsi yang digunakan untuk mengenkripsi database secara transparan. Untuk informasi selengkapnya tentang enkripsi database transparan, lihat Enkripsi Data Transparan (TDE).
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 lama (tidak disarankan) Anda harus mengatur database ke tingkat kompatibilitas database 120 atau lebih rendah.
ENKRIPSI BERDASARKAN ENCRYPTOR_NAME SERTIFIKAT SERVER
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 Transparent Database Encryption (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.
Pernyataan enkripsi database hanya diizinkan 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
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)
