全部产品
Search
文档中心

ApsaraDB RDS:Praktik Terbaik untuk TDE

更新时间:Jul 06, 2025

ApsaraDB RDS for SQL Server mendukung Transparent Data Encryption (TDE) untuk meningkatkan keamanan data. Dengan TDE, Anda dapat menggunakan kunci otomatis dari Alibaba Cloud atau Bawa Kunci Anda Sendiri (BYOK) untuk enkripsi data. Jika Anda mencadangkan instance ApsaraDB RDS for SQL Server setelah mengaktifkan TDE, file cadangan akan dienkripsi secara otomatis dan tidak dapat langsung digunakan untuk memulihkan data. Topik ini menjelaskan cara mengaktifkan TDE pada instance RDS Anda serta cara memulihkan data dari instance RDS dengan TDE diaktifkan ke perangkat lokal dalam berbagai skenario enkripsi. Jika Anda mengaktifkan TDE dan menggunakan BYOK untuk enkripsi data, Anda dapat menggunakan sertifikat dan kata sandi Anda sendiri untuk memulihkan data sesuai metode Skenario 2.

Enkripsi TDE

TDE melakukan enkripsi data saat diam pada database, mencegah penyerang melewati database untuk membaca informasi sensitif dari penyimpanan. TDE memungkinkan aplikasi dan pengguna terotentikasi mengakses data teks biasa tanpa memodifikasi kode aplikasi atau konfigurasi untuk dekripsi. Namun, TDE mencegah pengguna sistem operasi (OS) yang mencoba membaca informasi sensitif dalam tablespace serta pengguna tidak sah yang mencoba membaca data cadangan dan data pada disk dari mengakses data teks biasa. Untuk informasi lebih lanjut tentang cara mengaktifkan TDE, lihat Aktifkan TDE.

Berikut ini menjelaskan cara kerja TDE pada tingkat yang berbeda dalam sistem komputer.

Lapisan sistem operasi

Microsoft Data Protection API (DPAPI) adalah API bawaan dalam sistem operasi Windows yang digunakan untuk mengenkripsi atau mendekripsi data. DPAPI membebaskan Anda dari fokus pada kunci enkripsi dan algoritma.

DPAPI merupakan akar hierarki TDE. DPAPI melindungi hierarki kunci pada lapisan sistem operasi dan Service Master Key (SMK) dari instance database.

Lapisan instance SQL Server

Dalam SQL Server, SMK adalah kunci enkripsi tingkat tinggi yang digunakan oleh mesin database. SMK adalah kunci utama untuk mesin SQL Server dan dihasilkan ketika instance SQL Server dibuat. SMK digunakan untuk mengenkripsi kunci tingkat rendah dan data.

SMK dilindungi oleh DPAPI dan digunakan untuk mengenkripsi Database Master Key (DMK).

Lapisan database

TDE dilakukan pada database Master dan User di lapisan database.

Database Master

Setelah mengaktifkan TDE untuk instance RDS Anda, DMK dibuat di database Master dan digunakan untuk membuat sertifikat. DMK dan sertifikat disimpan di database Master.

DMK adalah kunci simetris yang digunakan untuk mengenkripsi informasi sensitif dalam database. DMK dienkripsi oleh SMK dan digunakan untuk mengenkripsi sertifikat. Sertifikat di database Master digunakan untuk mengenkripsi Database Encryption Key (DEK) di database User.

Database pengguna

DEK adalah kunci enkripsi yang dibuat dan disimpan di database User dan hanya bekerja bersama dengan TDE.

DEK dienkripsi oleh sertifikat di database Master. Data di database User tempat DEK disimpan dienkripsi oleh DEK. DEK dienkripsi oleh sertifikat dan disimpan di database User. Jika DEK tidak dienkripsi, DEK disimpan di memori. Ketika data ditulis ke atau dibaca dari database, SQL Server menggunakan kunci privat sertifikat untuk mendekripsi DEK yang dienkripsi dan memuat DEK yang didekripsi ke memori untuk mengenkripsi atau mendekripsi file data secara real-time. Proses ini transparan bagi aplikasi dan pengguna.

Jika sertifikat untuk TDE tidak dihasilkan untuk database Master, DEK tidak dapat didekripsi. Akibatnya, Anda tidak dapat memulihkan file cadangan dari database dengan TDE diaktifkan atau menambahkan database ke instance database.

Aktifkan atau Nonaktifkan TDE

Aktifkan TDE

Prasyarat

  • Instance RDS harus memenuhi kondisi berikut:

    • Instance RDS termasuk dalam keluarga instance general-purpose atau dedicated. Keluarga instance shared tidak didukung. Untuk informasi lebih lanjut, lihat Keluarga Instance.

    • Metode penagihan instance RDS adalah langganan atau bayar sesuai pemakaian. Instance serverless tidak didukung. Untuk informasi lebih lanjut, lihat Instance ApsaraDB RDS for SQL Server Serverless.

    • Instance RDS menjalankan salah satu versi SQL Server berikut: SQL Server 2019 SE, SQL Server 2022 SE, dan SQL Server EE.

    Catatan
    • Instance RDS Baca-saja tidak mendukung fitur ini.

    • Jika Anda ingin menggunakan Bawa Kunci Anda Sendiri (BYOK), peroleh sertifikat, kunci privat, dan kata sandi yang digunakan untuk enkripsi dan dekripsi sebelumnya.

  • Akun Alibaba Cloud Anda digunakan untuk mengotorisasi instance RDS mengakses Key Management Service (KMS). Untuk informasi lebih lanjut, lihat Otorisasi ApsaraDB RDS untuk Mengakses KMS.

Catatan Penggunaan

  • Jika Anda menggunakan kunci layanan yang disediakan oleh Alibaba Cloud untuk instance RDS dan mengaktifkan TDE untuk instance RDS, Anda tidak dapat menggunakan file cadangan yang dihasilkan setelah fitur TDE diaktifkan untuk memulihkan data instance RDS ke perangkat lokal.

  • Setelah TDE diaktifkan, kinerja database Anda terpengaruh.

    • Pengaruh pada kinerja: Kinerja keseluruhan berkurang sekitar 3% hingga 5% berdasarkan dokumentasi resmi Microsoft.

    • Pengaruh pada data dalam memori: Jika sebagian besar data yang diakses disimpan di memori, kinerja sedikit terpengaruh.

    • Pengaruh pada utilisasi CPU dan Kinerja I/O: Melakukan TDE adalah proses intensif CPU dan melibatkan operasi I/O.

      Jika beban I/O pada server atau aplikasi rendah dan utilisasi CPU rendah, kinerja sedikit terpengaruh. Jika utilisasi CPU pada aplikasi tinggi, kerugian kinerja sekitar 28% terjadi.

      Jika beban I/O pada server atau aplikasi tinggi tetapi utilisasi CPU cukup rendah, kinerja sedikit terpengaruh.

Batasan

Prosedur

  1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Kemudian, temukan instance RDS dan klik ID instance tersebut.

  2. Di panel navigasi sisi kiri, klik Data Security.

  3. Di tab TDE, aktifkan sakelar di sebelah Disabled.

    Catatan

    Anda hanya dapat mengaktifkan TDE jika instance RDS Anda memenuhi semua kondisi yang ditentukan di bagian "Prasyarat".

  4. Di kotak dialog yang muncul, pilih jenis kunci dan klik OK.

    Use Automatically Generated Key

    Pilih database dari bagian Database Tidak Dipilih, klik ikon untuk memindahkan database yang dipilih ke bagian Database Dipilih, lalu klik Confirm.TDE设置

    Encrypt with own SQL Server key
    1. Unggah file sertifikat dan file kunci privat ke Bucket OSS Anda. Untuk informasi lebih lanjut, lihat Unggah objek.上传文件到OSS

    2. Klik Next step dan konfigurasikan parameter berikut.选择自带密钥

      Parameter

      Deskripsi

      OSS Bucket

      Bucket OSS tempat file sertifikat dan file kunci privat disimpan.

      Certificate

      File sertifikat yang Anda unggah ke Bucket OSS.

      Private key

      File kunci privat yang Anda unggah ke Bucket OSS.

      Password

      Kata sandi kunci SQL Server Anda sendiri.

    3. Klik Next step untuk menuju ke langkah Authorization database.

      Pilih database dari bagian Database Tidak Dipilih, klik ikon untuk memindahkan database yang dipilih ke bagian Database Dipilih, lalu klik Confirm.授权数据库

Nonaktifkan TDE

Catatan
  • Jika Anda ingin menonaktifkan TDE untuk satu atau beberapa database, Anda dapat menghapus database tersebut dari bagian Selected Databases.

  • Jika Anda ingin menonaktifkan TDE untuk instance RDS, Anda harus menghapus semua database pada instance RDS dari bagian Selected Databases. Kemudian, sistem menonaktifkan TDE untuk instance RDS.

  1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Kemudian, temukan instance RDS dan klik ID instance tersebut.

  2. Di panel navigasi sisi kiri, klik Data Security.

  3. Klik tab TDE. Kemudian, klik TDE Settings.

  4. Pilih database dari bagian Selected Databases, klik ikon 图标 untuk memindahkan database yang dipilih ke bagian Database Tidak Dipilih, lalu klik OK.

    image

Catatan

Saat Anda menonaktifkan TDE, beberapa operasi database terlibat, seperti menunggu cadangan terakhir selesai, mendekripsi data, mencatat log, dan memperbarui metadata. Dekripsi data adalah operasi intensif sumber daya dan mengonsumsi banyak sumber daya CPU, memori, dan I/O. Waktu yang diperlukan untuk dekripsi data sebanding dengan volume data database. Jika Anda ingin menonaktifkan TDE untuk database yang berisi sejumlah besar data, waktu yang lama diperlukan. Sebagai contoh, jika database berisi sekitar 200 GB data, mungkin memerlukan lebih dari 40 menit untuk menonaktifkan TDE.

Jika Anda ingin melihat kemajuan dekripsi data setelah TDE dinonaktifkan, eksekusi pernyataan SQL berikut:

SELECT 
    db_name(database_id) AS DatabaseName, 
    encryption_state, 
    percent_complete 
FROM 
    sys.dm_database_encryption_keys;

Skenario 1: Menggunakan file cadangan yang dihasilkan setelah Anda mengaktifkan TDE yang menggunakan kunci yang dihasilkan secara otomatis oleh Alibaba Cloud untuk memulihkan data instance RDS Anda ke perangkat lokal

Langkah 1: Nonaktifkan TDE

Di halaman Data Security instance RDS Anda, hapus database yang ingin Anda cadangkan dari bagian Database Dilindungi.

Catatan
  • Jika Anda ingin menonaktifkan TDE untuk satu atau beberapa database, Anda dapat menghapus database tersebut dari bagian Selected Databases.

  • Jika Anda ingin menonaktifkan TDE untuk instance RDS, Anda harus menghapus semua database pada instance RDS dari bagian Selected Databases. Kemudian, sistem menonaktifkan TDE untuk instance RDS.

  1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Kemudian, temukan instance RDS dan klik ID instance tersebut.

  2. Di panel navigasi sisi kiri, klik Data Security.

  3. Klik tab TDE. Kemudian, klik TDE Settings.

  4. Pilih database dari bagian Selected Databases, klik ikon 图标 untuk memindahkan database yang dipilih ke bagian Database Tidak Dipilih, lalu klik OK.

    image

Catatan

Saat Anda menonaktifkan TDE, beberapa operasi database terlibat, seperti menunggu cadangan terakhir selesai, mendekripsi data, mencatat log, dan memperbarui metadata. Dekripsi data adalah operasi intensif sumber daya dan mengonsumsi banyak sumber daya CPU, memori, dan I/O. Waktu yang diperlukan untuk dekripsi data sebanding dengan volume data database. Jika Anda ingin menonaktifkan TDE untuk database yang berisi sejumlah besar data, waktu yang lama diperlukan. Sebagai contoh, jika database berisi sekitar 200 GB data, mungkin memerlukan lebih dari 40 menit untuk menonaktifkan TDE.

Jika Anda ingin melihat kemajuan dekripsi data setelah TDE dinonaktifkan, eksekusi pernyataan SQL berikut:

SELECT 
    db_name(database_id) AS DatabaseName, 
    encryption_state, 
    percent_complete 
FROM 
    sys.dm_database_encryption_keys;

Langkah 2: Lakukan cadangan penuh

Setelah Anda menonaktifkan TDE, beberapa log transaksi terenkripsi masih ada. Jika Anda mengunduh file cadangan, file cadangan tersebut dienkripsi dan tidak dapat digunakan untuk memulihkan data. Setelah Anda menonaktifkan TDE, Anda harus melakukan cadangan penuh. Untuk informasi lebih lanjut, lihat Enkripsi Database di SQL Server 2008 Enterprise Edition.

Anda dapat secara manual melakukan cadangan penuh. Untuk informasi lebih lanjut, lihat Konfigurasi Cadangan Manual.

Catatan

Jika Anda secara manual membuat cadangan, Anda dapat mencadangkan data seluruh instance RDS atau mencadangkan database tertentu pada instance RDS berdasarkan kebutuhan bisnis Anda. Anda hanya dapat mencadangkan database tertentu ketika Anda menggunakan metode cadangan fisik.

Langkah 3: Unduh file cadangan dan gunakan file cadangan untuk memulihkan data ke perangkat lokal Anda

Di halaman Backup and Restoration instance RDS, unduh file cadangan penuh terbaru ke perangkat lokal Anda. Kemudian, gunakan file .bak dalam paket yang diunduh untuk memulihkan data. Untuk informasi lebih lanjut, lihat Unduh File Cadangan Data dan File Cadangan Log.

Skenario 2: Menggunakan file cadangan yang dihasilkan setelah Anda mengaktifkan TDE yang menggunakan BYOK untuk memulihkan data instance RDS Anda ke perangkat lokal

Anda dapat menonaktifkan TDE untuk database yang diperlukan berdasarkan metode untuk Skenario 1. Kemudian, lakukan cadangan penuh dan unduh file cadangan penuh ke perangkat lokal Anda. Bagian ini menjelaskan metode pemulihan data lainnya. Anda dapat menggunakan metode ini berdasarkan kebutuhan bisnis Anda.

Langkah 1: Buat MEK

Gunakan kata sandi kustom untuk membuat kunci enkripsi utama (MEK) di server tempat database master pada instance RDS Anda dibuat. Kata sandi kustom dapat berbeda dari kata sandi yang digunakan untuk membuat MEK di server tempat database SQL Server mandiri dibuat.

Catatan

Sebelum memulai, Anda harus menggunakan klien untuk terhubung ke instance RDS. Untuk informasi lebih lanjut, lihat Hubungkan ke Instance ApsaraDB RDS for SQL Server.

Eksekusi pernyataan SQL berikut untuk memeriksa apakah MEK dibuat di server tempat instance RDS Anda berada. Jika MEK ada, lanjutkan ke Langkah 2. Jika tidak ada MEK, MEK akan dibuat.

USE master; 
GO 
IF NOT EXISTS (SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)
BEGIN
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'YourPassword'; --Tentukan kata sandi kustom.
END;

Langkah 2: Buat Sertifikat

Gunakan sertifikat dan kunci privat yang disediakan ketika Anda mengaktifkan TDE untuk membuat sertifikat dan menerapkan sertifikat tersebut ke server tempat instance RDS Anda berada.

USE MASTER;
GO
CREATE CERTIFICATE TDE_Certificate
FROM FILE = 'C:\cert\tde_cert.cer' --Ubah nilai menjadi jalur aktual ke sertifikat yang dibuat.
WITH PRIVATE KEY (FILE = 'C:\cert\tde_privatekey.pvk', --Ubah nilai menjadi jalur aktual ke kunci privat.
DECRYPTION BY PASSWORD='YourTDEPassword ' ); --Ubah nilai menjadi kata sandi aktual.

Langkah 3: Unduh File Cadangan dan Gunakan File Cadangan untuk Memulihkan Data ke Database Lokal Anda

Di halaman Backup and Restoration instance RDS, temukan set cadangan yang diperlukan, unduh set cadangan ke perangkat lokal Anda, lalu gunakan file .bak dalam paket yang diunduh untuk memulihkan data. Untuk informasi lebih lanjut, lihat Unduh File Cadangan Data dan File Cadangan Log.

Catatan

Saat Anda memulihkan data ke database lokal Anda, kesalahan berikut mungkin dilaporkan: Keluarga media pada perangkat '<nama file cadangan>' salah dibentuk. SQL Server tidak dapat memproses keluarga media ini. Hal ini karena file cadangan terkompresi yang dihasilkan untuk instance RDS for SQL Server dengan TDE diaktifkan tidak kompatibel dengan instance RDS for SQL Server yang menjalankan versi mesin minor sebelumnya. Saat Anda memulihkan data ke instance RDS for SQL Server lokal yang menjalankan versi mesin minor sebelumnya menggunakan file cadangan terkompresi ini, kesalahan ini dilaporkan. Untuk informasi lebih lanjut, lihat Dokumentasi Resmi SQL Server.

Untuk menghindari kesalahan ini, pastikan bahwa versi mesin utama dan minor dari database lokal Anda sama dengan versi instance RDS for SQL Server Anda. Anda dapat melihat versi mesin instance RDS for SQL Server Anda di halaman Basic Information instance di konsol.

Referensi

Untuk informasi lebih lanjut tentang metode enkripsi data lainnya yang didukung oleh ApsaraDB RDS for SQL Server, lihat Keamanan Data dan Enkripsi.