Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Enkripsi Data Transparan (TDE) mengenkripsi file data dari SQL Server dan Azure SQL Database, yang dikenal sebagai enkripsi data dalam kondisi tersimpan. Anda dapat mengambil beberapa tindakan pencegahan untuk membantu mengamankan database seperti merancang sistem yang aman, mengenkripsi aset rahasia, dan membangun firewall di sekitar server database. Namun, dalam skenario di mana media fisik (seperti drive atau rekaman cadangan) dicuri, pihak berbahaya hanya dapat memulihkan atau melampirkan database dan menelusuri data. Salah satu solusinya adalah mengenkripsi data sensitif dalam database dan melindungi kunci yang digunakan untuk mengenkripsi data dengan sertifikat. Ini mencegah siapa pun tanpa kunci menggunakan data, tetapi perlindungan semacam ini harus direncanakan terlebih dahulu.
TDE melakukan enkripsi I/O real-time dan dekripsi data dan file log. Enkripsi menggunakan kunci enkripsi database (DEK), yang disimpan dalam catatan boot database untuk ketersediaan selama pemulihan. DEK adalah kunci konten yang diamankan dengan menggunakan sertifikat yang disimpan dalam database master server atau kunci asimetris yang dilindungi oleh modul EKM. TDE melindungi data "yang diam", yang berarti meliputi data dan file log. Ini memberikan kemampuan untuk mematuhi banyak undang-undang, peraturan, dan pedoman yang ditetapkan di berbagai industri. Hal ini memungkinkan pengembang perangkat lunak mengenkripsi data dengan menggunakan algoritma enkripsi AES dan 3DES tanpa mengubah aplikasi yang ada.
Penting
TDE tidak menyediakan enkripsi di seluruh saluran komunikasi. Untuk informasi selengkapnya tentang cara mengenkripsi data di seluruh saluran komunikasi, lihat Mengaktifkan Koneksi Terenkripsi ke Mesin Database (SQL Server Configuration Manager).
Topik terkait:
Tentang TDE
Enkripsi file database dilakukan di tingkat halaman. Halaman dalam database terenkripsi dienkripsi sebelum ditulis ke disk dan didekripsi saat dibaca ke dalam memori. TDE tidak meningkatkan ukuran database terenkripsi.
Informasi yang berlaku untuk SQL Database
Saat menggunakan TDE dengan SQL Database V12 (Pratinjau di beberapa wilayah), sertifikat tingkat server yang disimpan dalam database master dibuat secara otomatis oleh SQL Database untuk Anda. Untuk memindahkan database TDE di SQL Database, Anda harus mendekripsi database, memindahkan database, lalu mengaktifkan kembali TDE pada SQL Database tujuan. Untuk instruksi langkah demi langkah untuk TDE di SQL Database, lihat Enkripsi Data Transparan dengan Azure SQL Database.
Pratinjau status TDE tetap berlaku bahkan di subset wilayah geografis yang telah mengumumkan keluarga versi V12 dari Basis Data SQL yang kini berada dalam status ketersediaan umum. TDE untuk SQL Database tidak dimaksudkan untuk digunakan dalam database produksi sampai Microsoft mengumumkan bahwa TDE dipromosikan dari pratinjau ke GA. Untuk informasi selengkapnya tentang SQL Database V12, lihat Apa yang baru di Azure SQL Database.
Informasi yang berlaku untuk SQL Server
Setelah diamankan, database dapat dipulihkan dengan menggunakan sertifikat yang benar. Untuk informasi selengkapnya tentang sertifikat, lihat Sertifikat SQL Server dan Kunci Asimetris.
Saat mengaktifkan TDE, Anda harus segera mencadangkan sertifikat dan kunci privat yang terkait dengan sertifikat. Jika sertifikat menjadi tidak tersedia atau jika Anda harus memulihkan atau melampirkan database di server lain, Anda harus memiliki cadangan sertifikat dan kunci privat atau Anda tidak akan dapat membuka database. Sertifikat enkripsi harus dipertahankan meskipun TDE tidak lagi diaktifkan pada database. Meskipun database tidak dienkripsi, bagian dari log transaksi mungkin masih tetap dilindungi, dan sertifikat mungkin diperlukan untuk beberapa operasi sampai pencadangan penuh database dilakukan. Sertifikat yang telah melebihi tanggal kedaluwarsanya masih dapat digunakan untuk mengenkripsi dan mendekripsi data dengan TDE.
Hierarki Enkripsi
Ilustrasi berikut menunjukkan arsitektur enkripsi TDE. Hanya item tingkat database (kunci enkripsi database dan bagian ALTER DATABASE yang dapat dikonfigurasi pengguna saat menggunakan TDE di SQL Database.
Menggunakan Enkripsi Data Transparan
Untuk menggunakan TDE, ikuti langkah-langkah ini.
| Berlaku untuk: SQL Server. |
Membuat kunci master
Membuat atau mendapatkan sertifikat yang dilindungi oleh kunci master
Membuat kunci enkripsi database dan melindunginya dengan sertifikat
Mengatur database untuk menggunakan enkripsi
Contoh berikut mengilustrasikan mengenkripsi dan mendekripsi AdventureWorks2012 database menggunakan sertifikat yang diinstal pada server bernama MyServerCert.
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>';
go
CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'My DEK Certificate';
go
USE AdventureWorks2012;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
ALTER DATABASE AdventureWorks2012
SET ENCRYPTION ON;
GO
Operasi enkripsi dan dekripsi dijadwalkan pada utas latar belakang oleh SQL Server. Anda dapat melihat status operasi ini menggunakan tampilan katalog dan tampilan manajemen dinamis dalam daftar yang muncul nanti dalam topik ini.
Perhatian
File cadangan database yang mengaktifkan TDE juga dienkripsi dengan menggunakan kunci enkripsi database. Akibatnya, ketika Anda memulihkan cadangan ini, sertifikat yang melindungi kunci enkripsi database harus tersedia. Ini berarti bahwa selain mencadangkan database, Anda harus memastikan bahwa Anda mempertahankan cadangan sertifikat server untuk mencegah kehilangan data. Kehilangan data akan mengakibatkan sertifikat tidak lagi tersedia. Untuk informasi selengkapnya, lihat Sertifikat SQL Server dan Kunci Asimetris.
Perintah dan Fungsi
Sertifikat TDE harus dienkripsi oleh kunci master database untuk diterima oleh pernyataan berikut. Jika hanya dienkripsi dengan kata sandi, pernyataan akan menolaknya sebagai peng-enkripsi.
Penting
Mengubah sertifikat yang akan dilindungi kata sandi setelah digunakan oleh TDE akan menyebabkan database menjadi tidak dapat diakses setelah hidupkan ulang.
Tabel berikut ini menyediakan tautan dan penjelasan tentang perintah dan fungsi TDE.
| Perintah atau fungsi | Tujuan |
|---|---|
| MEMBUAT KUNCI ENKRIPSI DATABASE (Transact-SQL) | Membuat kunci yang digunakan untuk mengenkripsi database. |
| UBAH KUNCI ENKRIPSI PADA DATABASE (Transact-SQL) | Mengubah kunci yang digunakan untuk mengenkripsi database. |
| HILANGKAN KUNCI ENKRIPSI DATABASE (Transact-SQL) | Menghapus kunci yang digunakan untuk mengenkripsi database. |
| ALTER DATABASE SET Options (Transact-SQL) | Menjelaskan ALTER DATABASE opsi yang digunakan untuk mengaktifkan TDE. |
Tampilan Katalog dan Tampilan Manajemen Dinamis
Tabel berikut ini memperlihatkan tampilan katalog TDE dan tampilan manajemen dinamis.
| Tampilan katalog atau tampilan manajemen dinamis | Tujuan |
|---|---|
| sys.databases (T-SQL) | Tampilan katalog yang menampilkan informasi database. |
| sys.certificates (Transact-SQL) | Tampilan katalog yang memperlihatkan sertifikat dalam database. |
| sys.dm_database_encryption_keys (Transact-SQL) | Tampilan manajemen dinamis yang menyediakan informasi tentang kunci enkripsi yang digunakan dalam database, dan status enkripsi database. |
Hak akses
Setiap fitur dan perintah TDE memiliki persyaratan izin individual, yang dijelaskan dalam tabel yang ditunjukkan sebelumnya.
Melihat metadata yang terlibat dengan TDE memerlukan izin LIHAT DEFINISI pada sertifikat.
Pertimbangan
Saat pemindaian enkripsi ulang untuk operasi enkripsi database sedang berlangsung, operasi pemeliharaan ke database dinonaktifkan. Anda dapat menggunakan pengaturan mode pengguna tunggal untuk database untuk melakukan operasi pemeliharaan. Untuk informasi selengkapnya, lihat Mengatur Database ke Mode Pengguna tunggal.
Anda dapat menemukan status enkripsi database menggunakan tampilan manajemen dinamis sys.dm_database_encryption_keys. Untuk informasi selengkapnya, lihat bagian "Tampilan Katalog dan Tampilan Manajemen Dinamis"sebelumnya dalam topik ini).
Di TDE, semua file dan grup file dalam database dienkripsi. Jika ada grup file dalam database yang ditandai BACA SAJA, operasi enkripsi database akan gagal.
Jika database digunakan dalam pencerminan database atau pengiriman log, kedua database akan dienkripsi. Transaksi log akan dienkripsi ketika dikirim di antaranya.
Penting
Indeks teks lengkap baru akan dienkripsi saat database diatur untuk enkripsi. Indeks teks lengkap yang dibuat sebelumnya akan diimpor selama peningkatan dan mereka akan berada di TDE setelah data dimuat ke SQL Server. Mengaktifkan indeks teks lengkap pada kolom dapat menyebabkan data kolom ditulis dalam teks biasa ke disk selama pemindaian pengindeksan teks lengkap. Kami menyarankan agar Anda tidak membuat indeks teks lengkap pada data terenkripsi sensitif.
Data terenkripsi jauh lebih sedikit terkompresi dibandingkan dengan data tidak terenkripsi yang setara. Jika TDE digunakan untuk mengenkripsi database, kompresi cadangan tidak akan dapat mengompresi penyimpanan cadangan secara signifikan. Oleh karena itu, menggunakan TDE dan kompresi cadangan bersama-sama tidak disarankan.
Pembatasan
Operasi berikut ini tidak diizinkan selama enkripsi database awal, perubahan kunci, atau dekripsi database:
Menghapus file dari grup file dalam database
Menghapus database
Mengambil database offline
Memutuskan hubungan dengan database
Transisi database atau grup file ke status BACA SAJA
Operasi berikut ini tidak diizinkan selama CREATE DATABASE ENCRYPTION KEY, ALTER DATABASE ENCRYPTION KEY, DROP DATABASE ENCRYPTION KEY, atau ALTER DATABASE... ATUR pernyataan ENKRIPSI.
Menghapus file dari kelompok file dalam database.
Menghapus database.
Mengambil database offline.
Mencopot database.
Transisi database atau grup file ke status BACA SAJA.
Menggunakan perintah ALTER DATABASE.
Memulai database atau cadangan file database.
Memulai proses pemulihan database atau file database.
Membuat rekam jepret.
Operasi atau kondisi berikut akan mencegah CREATE DATABASE ENCRYPTION KEY, ALTER DATABASE ENCRYPTION KEY, DROP DATABASE ENCRYPTION KEY, atau ALTER DATABASE... SET ENCRYPTION statements.
Basis data bersifat hanya-baca atau memiliki kelompok file yang hanya-baca.
Perintah ALTER DATABASE sedang dijalankan.
Pencadangan data sedang berjalan.
Database berada dalam kondisi offline atau pemulihan.
Jepretan sedang berlangsung.
Tugas pemeliharaan database.
Saat membuat file database, inisialisasi file instan tidak tersedia saat TDE diaktifkan.
Untuk mengenkripsi kunci enkripsi database dengan kunci asimetris, kunci asimetris harus berada di penyedia manajemen kunci yang dapat diperluas.
Enkripsi Data Transparan dan Log Transaksi
Mengaktifkan database untuk menggunakan TDE memiliki efek "menghapus" bagian yang tersisa dari log transaksi virtual untuk memaksa log transaksi virtual berikutnya. Ini menjamin bahwa tidak ada teks yang jelas yang tersisa dalam log transaksi setelah database diatur untuk enkripsi. Anda dapat menemukan status enkripsi file log dengan menampilkan encryption_state kolom dalam sys.dm_database_encryption_keys tampilan, seperti dalam contoh ini:
USE AdventureWorks2012;
GO
/* The value 3 represents an encrypted state
on the database and transaction logs. */
SELECT *
FROM sys.dm_database_encryption_keys
WHERE encryption_state = 3;
GO
Untuk informasi selengkapnya tentang arsitektur file log SQL Server, lihat Log Transaksi (SQL Server).
Semua data yang ditulis ke log transaksi sebelum perubahan kunci enkripsi database akan dienkripsi dengan menggunakan kunci enkripsi database sebelumnya.
Setelah kunci enkripsi database dimodifikasi dua kali, pencadangan log harus dilakukan sebelum kunci enkripsi database dapat dimodifikasi lagi.
Enkripsi Data Transparan dan Database Sistem tempdb
Database sistem tempdb akan dienkripsi jika ada database lain pada instans SQL Server yang dienkripsi dengan menggunakan TDE. Ini mungkin memiliki efek performa untuk database yang tidak terenkripsi pada instans SQL Server yang sama. Untuk informasi selengkapnya tentang database sistem tempdb, lihat Database tempdb.
Enkripsi dan Replikasi Data Transparan
Replikasi tidak secara otomatis mereplikasi data dari database berkemampuan TDE dalam bentuk terenkripsi. Anda harus mengaktifkan TDE secara terpisah jika Anda ingin melindungi database distribusi dan pelanggan. Replikasi rekam jepret, serta distribusi awal data untuk replikasi transaksional dan penggabungan, dapat menyimpan data dalam file perantara yang tidak terenkripsi; misalnya, file bcp. Selama replikasi transaksional atau penggabungan, enkripsi dapat diaktifkan untuk melindungi saluran komunikasi. Untuk informasi lebih lanjut, lihat Aktifkan Koneksi Terenkripsi ke Mesin Basis Data (SQL Server Configuration Manager).
Enkripsi Data Transparan dan DATA FILESTREAM
Data FILESTREAM tidak dienkripsi bahkan ketika TDE diaktifkan.
Ekstensi Enkripsi Data Transparan dan Kumpulan Buffer
File yang terkait dengan ekstensi kumpulan buffer (BPE) tidak dienkripsi saat database dienkripsi menggunakan TDE. Anda harus menggunakan alat enkripsi tingkat sistem file seperti Bitlocker atau EFS untuk file terkait BPE.
Enkripsi Data Transparan dan In-Memory OLTP
TDE dapat diaktifkan pada database yang memiliki objek OLTP In-Memory. In-Memory catatan log OLTP dienkripsi jika TDE diaktifkan. Data dalam grup file MEMORY_OPTIMIZED_DATA tidak dienkripsi jika TDE diaktifkan.
Lihat Juga
Memindahkan Database yang Dilindungi TDE ke SQL Server LainAktifkan TDE MenggunakanEnkripsi Data Transparan EKM dengan Azure SQL DatabaseSQL Server EncryptionSQL Server dan Database Encryption Keys (Mesin Database)Security Center untuk Mesin Database SQL Server dan Azure SQL DatabaseFILESTREAM (SQL Server)