Transparent Data Encryption (TDE) mengenkripsi file data secara real time saat ditulis ke disk dan mendekripsinya saat dibaca ke memori—tanpa memerlukan perubahan apa pun pada aplikasi Anda. Gunakan TDE ketika Anda memerlukan enkripsi data statis untuk memenuhi persyaratan kepatuhan keamanan, melindungi konten database sensitif dari akses langsung ke penyimpanan, atau berbagi file backup secara aman dengan pihak ketiga.
Setelah TDE diaktifkan, ukuran file data tidak bertambah.
Cara kerja
TDE menggunakan hierarki kunci berlapis untuk melindungi data Anda.
Lapisan sistem operasi — Windows Data Protection API (DPAPI) adalah API bawaan Windows yang mengelola kunci enkripsi dan algoritma secara transparan. DPAPI merupakan akar dari hierarki kunci TDE dan melindungi service master key (SMK).
Lapisan instans SQL Server — Service master key (SMK) dihasilkan saat instans SQL Server dibuat. SMK berfungsi sebagai kunci enkripsi akar untuk mesin database dan dilindungi oleh DPAPI. SMK mengenkripsi database master key (DMK).
Lapisan database — TDE beroperasi pada database master maupun database pengguna:
-
Database master: Saat TDE diaktifkan, DMK dan sertifikat dibuat di database master. DMK adalah kunci simetris yang dienkripsi oleh SMK; sertifikat tersebut mengenkripsi database encryption key (DEK) yang disimpan di database pengguna.
-
Database pengguna: Setiap database pengguna menyimpan DEK yang dienkripsi oleh sertifikat di database master. Saat SQL Server membaca atau menulis data, sertifikat menggunakan kunci privatnya untuk mendekripsi DEK di memori, lalu menggunakan DEK tersebut untuk mengenkripsi atau mendekripsi file data secara real time. Proses ini transparan bagi aplikasi dan pengguna.
Jika sertifikat TDE tidak tersedia di database master, SQL Server tidak dapat mendekripsi DEK. Artinya, Anda tidak dapat memulihkan file backup dari database yang telah diaktifkan TDE atau menyambungkan database tersebut ke instans lain.
Prasyarat
Sebelum memulai, pastikan bahwa:
-
Instans RDS memenuhi semua kondisi berikut:
-
Instans termasuk dalam keluarga instans general-purpose atau dedicated. Instans shared-performance tidak didukung. Untuk informasi selengkapnya, lihat Instance families.
-
Metode penagihan adalah subscription atau pay-as-you-go. Instans serverless tidak didukung. Untuk informasi selengkapnya, lihat Serverless ApsaraDB RDS for SQL Server instances.
-
Instans menjalankan salah satu versi SQL Server berikut: SQL Server 2019 SE, SQL Server 2022 SE, SQL Server 2025 SE, atau SQL Server EE.
-
Instans bukan read-only RDS instance.
-
-
Akun Alibaba Cloud Anda telah memberikan otorisasi kepada instans RDS untuk mengakses Key Management Service (KMS). Untuk informasi selengkapnya, lihat Authorize ApsaraDB RDS to access KMS.
-
(Hanya diperlukan untuk Bring Your Own Key (BYOK)) Anda telah menyiapkan file sertifikat, file kunci privat, dan password.
Batasan dan catatan penggunaan
Batasan
Saat TDE diaktifkan pada instans RDS:
-
Anda tidak dapat memperbarui versi mesin minor instans tersebut.
-
Jika instans menggunakan Premium Local SSDs dan menjalankan SQL Server 2008 R2, Anda tidak dapat meningkatkan versi mesin utama dari SQL Server 2008 R2 ke SQL Server 2012 atau SQL Server 2016.
-
File backup dapat digunakan untuk memulihkan data ke instans RDS baru, tetapi tidak dapat digunakan untuk membangun ulang instans RDS atau memulihkan data ke instans RDS lain yang sudah ada.
-
Jika Anda menggunakan kunci layanan Alibaba Cloud, file backup yang dihasilkan setelah TDE diaktifkan tidak dapat memulihkan data ke perangkat on-premises.
Dampak performa
TDE bersifat intensif CPU dan melibatkan operasi I/O. Berdasarkan dokumentasi resmi Microsoft:
-
Performa keseluruhan menurun sekitar 3%–5% dalam kondisi normal.
-
Jika sebagian besar data yang diakses berada di memori, dampaknya minimal.
-
Jika utilisasi CPU sudah tinggi, penurunan performa dapat mencapai sekitar 28%.
Aktifkan TDE
-
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada, lalu klik ID instans tersebut.
-
Di panel navigasi kiri, klik Data Security.
-
Di tab TDE, aktifkan sakelar di samping Disabled.
TDE hanya dapat diaktifkan jika semua prasyarat terpenuhi.
-
Di kotak dialog, pilih jenis kunci lalu klik OK.
Gunakan kunci yang dihasilkan secara otomatis oleh Alibaba Cloud
Pilih database dari bagian Unselected Databases, klik ikon
untuk memindahkannya ke bagian Selected Databases, lalu klik Confirm.
Enkripsi dengan kunci SQL Server Anda sendiri (BYOK)
-
Unggah file sertifikat dan file kunci privat ke Bucket OSS Anda. Untuk informasi selengkapnya, lihat Upload objects.

-
Klik Next step dan konfigurasikan parameter berikut.
Parameter Description OSS Bucket Bucket OSS tempat Anda mengunggah file sertifikat dan file kunci privat. Certificate File sertifikat yang Anda unggah ke Bucket OSS. Private key File kunci privat yang Anda unggah ke Bucket OSS. Password Password kunci SQL Server Anda. 
-
Klik Next step untuk menuju langkah Authorization database.
-
Pilih database dari bagian Unselected Databases, klik ikon
untuk memindahkannya ke bagian Unselected Databases, lalu klik Confirm.
Nonaktifkan TDE
Menonaktifkan TDE akan mendekripsi seluruh data, yang merupakan operasi intensif resource dan mengonsumsi banyak sumber daya CPU, memori, serta I/O. Waktu dekripsi sebanding dengan volume data—untuk database berukuran sekitar 200 GB, proses dekripsi dapat memakan waktu lebih dari 40 menit.
-
Untuk menonaktifkan Enkripsi Data Transparan (TDE) untuk specific databases, hapus database tersebut dari bagian Selected Databases.
-
Untuk menonaktifkan TDE pada entire instance, hapus semua database dari bagian Selected Databases. Sistem kemudian akan menonaktifkan TDE untuk instans tersebut.
Langkah-langkah:
-
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada, lalu klik ID instans tersebut.
-
Di panel navigasi kiri, klik Data Security.
-
Klik tab TDE, lalu klik TDE Settings.
-
Pilih database dari bagian Unselected Databases, klik ikon
untuk memindahkannya ke bagian Unselected Databases, lalu klik OK.
Untuk memeriksa progres dekripsi setelah TDE dinonaktifkan, jalankan Pernyataan SQL berikut:
SELECT
db_name(database_id) AS DatabaseName,
encryption_state,
percent_complete
FROM
sys.dm_database_encryption_keys;
Langkah berikutnya
-
Untuk mengaktifkan TDE dengan memanggil Operasi API, lihat ModifyDBInstanceTDE.
-
Untuk mengenkripsi koneksi ke instans RDS menggunakan SSL, lihat Configure the SSL encryption feature.