全部产品
Search
文档中心

ApsaraDB RDS:Konfigurasikan enkripsi data transparan

更新时间:Nov 10, 2025

Untuk memenuhi persyaratan kepatuhan keamanan atau melakukan enkripsi data statis, Anda dapat menggunakan fitur enkripsi data transparan (TDE). TDE melakukan enkripsi dan dekripsi I/O real-time pada file data. Fitur ini mengenkripsi data statis di lapisan database untuk mencegah penyerang membaca informasi sensitif dari penyimpanan, sehingga meningkatkan keamanan data.

Informasi latar belakang

Untuk informasi lebih lanjut tentang cara kerja TDE, lihat Cara Kerja Enkripsi dan Dekripsi TDE.

Prasyarat

  • Instans ApsaraDB RDS for PostgreSQL Anda harus memenuhi persyaratan berikut:

    • Versi utama instans adalah PostgreSQL 10 atau yang lebih baru.

    • Kelas penyimpanan adalah disk.

    • Versi mesin minor instans adalah 20221030 atau yang lebih baru. Untuk informasi lebih lanjut tentang cara melihat dan meningkatkan versi mesin minor, lihat Tingkatkan Versi Mesin Minor.

    • Jika instans memiliki instans hanya baca, instans tersebut juga harus memenuhi persyaratan sebelumnya.

  • Anda telah memberikan ApsaraDB RDS izin untuk mengakses Key Management Service (KMS) menggunakan Akun Alibaba Cloud Anda. Untuk informasi lebih lanjut, lihat Berikan ApsaraDB RDS Izin untuk Mengakses KMS.

  • Key Management Service (KMS) diaktifkan. Jika KMS belum diaktifkan, Anda dapat mengaktifkannya saat mengaktifkan TDE.

Catatan penggunaan

  • Pastikan bahwa versi mesin minor dari instans utama dan instans hanya bacanya adalah 20221030 atau yang lebih baru. Jika tidak, upaya untuk mengaktifkan TDE akan gagal.

  • Setelah mengaktifkan TDE, kinerja database mungkin terpengaruh dalam skenario intensif I/O (I/O-bound).

  • Instans dengan TDE yang diaktifkan tidak mendukung database sekunder mandiri yang dibuat menggunakan replikasi streaming fisik.

  • Anda tidak dapat menonaktifkan TDE setelah diaktifkan.

  • Pastikan bahwa Key Management Service (KMS) berada dalam status Normal. Jika tidak, disk tidak dapat didekripsi dan seluruh instans menjadi tidak tersedia.

  • Saat menggunakan kunci kustom yang ada, perhatikan hal-hal berikut:

    • Jika Anda menonaktifkan atau menghapus kunci kustom di KMS, instans RDS mungkin tidak berfungsi dengan benar. Operasi yang terpengaruh termasuk membuat snapshot, memulihkan dari snapshot, dan membangun ulang database sekunder.

    • Jika Anda me-restart instans RDS setelah mencabut otorisasi, instans RDS menjadi tidak tersedia.

    • Anda harus menggunakan Akun Alibaba Cloud atau akun yang memiliki izin AliyunSTSAssumeRoleAccess.

    Catatan

    Untuk informasi lebih lanjut tentang operasi terkait kunci, lihat Key Management Service.

Aktifkan enkripsi TDE

  1. Buka halaman Instans RDS, pilih Wilayah di bilah navigasi atas, lalu klik ID instans target.

  2. Di panel navigasi di sebelah kiri, klik Data Security.

  3. Di tab TDE, klik slider di sebelah kiri Not Enabled.

  4. Pilih jenis kunci dan klik OK untuk mengaktifkan TDE.

    • Use Automatically Generated Key: Metode ini menggunakan kunci layanan dari KMS sebagai kunci enkripsi kunci (KEK).

    • Use Existing Custom Key: Metode ini menggunakan kunci master pelanggan (CMK) yang Anda unggah ke KMS sebagai KEK. Jika Anda tidak memiliki kunci kustom, klik Create untuk pergi ke Konsol KMS. Kemudian, buat kunci dan impor bahan kunci Anda sendiri. Untuk informasi lebih lanjut, lihat Buat Kunci.

Ganti kunci

  1. Buka halaman Instans RDS, pilih Wilayah di bilah navigasi atas, lalu klik ID instans target.

  2. Di panel navigasi di sebelah kiri, klik Data Security.

  3. Di tab TDE, klik Replace Key di sebelah kanan TDE Status.

  4. Pilih Use Automatically Generated Key atau Use Existing Custom Key, pilih kunci, lalu klik OK.

Gunakan TDE untuk mengenkripsi atau mendekripsi tabel atau indeks

Setelah mengaktifkan TDE di tingkat instans, Anda juga perlu mengenkripsi tabel.

Catatan

Enkripsi dan dekripsi menyebabkan overhead kinerja. Kami sarankan Anda mengontrol ruang lingkup enkripsi sesuai kebutuhan.

Enkripsi

  • Pengaturan Global

    Anda dapat mengatur parameter rds_default_table_encryption ke ON di Konsol RDS. Setelah parameter ini diaktifkan, tabel baru (CREATE TABLE) dan indeks (CREATE INDEX) dienkripsi secara default.

    Catatan
    • Parameter ini hanya berlaku untuk instans ApsaraDB RDS for PostgreSQL 13, 14, dan 15. Untuk informasi lebih lanjut tentang cara memodifikasi parameter, lihat Atur Parameter Instans.

    • Jika parameter ini tidak ditemukan, tingkatkan versi mesin minor ke versi terbaru dan coba lagi. Untuk informasi lebih lanjut, lihat Tingkatkan Versi Mesin Minor.

    • Jika Anda mengubah nilai parameter rds_default_table_encryption dari ON ke OFF, perubahan tersebut hanya memengaruhi tabel atau indeks baru. Perubahan ini tidak memengaruhi tabel dan indeks terenkripsi yang sudah ada.

  • Enkripsi Tabel atau Indeks Tertentu

    • Enkripsi Tabel

      -- Buat tabel terenkripsi.
      CREATE TABLE <tablename> WITH (encryption=on);
      
      -- Ubah tabel menjadi tipe terenkripsi.
      ALTER TABLE <tablename> SET (encryption=on);
    • Enkripsi Indeks

      -- Buat indeks terenkripsi.
      CREATE INDEX <indexname> ... WITH (encryption=on);
      
      -- Ubah indeks menjadi tipe terenkripsi.
      ALTER INDEX <indexname> SET (encryption=on);
      Catatan

      Enam jenis indeks dapat dienkripsi: btree, hash, spgist, gin, gist, dan brin.

Dekripsi

Catatan

Pernyataan ALTER berikut memicu penulisan ulang tabel atau indeks, yang mirip dengan VACUUM FULL. Jangan eksekusi pernyataan ini selama jam sibuk.

  • Dekripsi Tabel Terenkripsi

    ALTER TABLE <tablename> SET (encryption=off);
  • Dekripsi Indeks Terenkripsi

    ALTER INDEX <indexname> SET(encryption=off);

Lihat status enkripsi tabel atau indeks

SELECT relname, reloptions FROM pg_class WHERE relname IN ('<tablename>', '<indexname>');

FAQ

  • Setelah saya mengaktifkan TDE, apakah saya masih bisa menggunakan alat database umum seperti pgAdmin?

    Ya, Anda bisa.

  • Setelah saya mengaktifkan TDE, apakah saya masih bisa memigrasi data ke instans RDS lain?

    Ya, Anda bisa.

  • Setelah enkripsi, mengapa data masih ditampilkan dalam teks biasa?

    Saat menjalankan kueri data, data tersebut didekripsi dan dibaca ke dalam memori. Oleh karena itu, data ditampilkan dalam teks biasa. TDE mencegah kebocoran data dari file cadangan yang bocor karena data dalam file cadangan dienkripsi. Jika Anda ingin memulihkan data ke perangkat lokal, Anda harus mendekripsi data selama proses pemulihan.

Referensi

  • Untuk informasi lebih lanjut tentang operasi terkait kunci, lihat Key Management Service.

  • Untuk informasi lebih lanjut tentang cara memodifikasi parameter rds_default_table_encryption saat mengonfigurasi enkripsi global, lihat Atur Parameter Instans.

  • ApsaraDB RDS for PostgreSQL menyediakan ekstensi rds_tde_utils untuk melakukan enkripsi dan dekripsi massal pada indeks, tabel, dan objek database.

  • Untuk mengaktifkan enkripsi tautan SSL, lihat Enkripsi Tautan SSL.

  • Untuk mengenkripsi kolom tertentu yang berisi data sensitif, Anda dapat mengaktifkan Database Rahasia (Public Preview). Setelah fitur ini diaktifkan, data sensitif ditransmisikan, dikomputasi, dan disimpan dalam bentuk ciphertext.

  • Anda juga dapat menggunakan API untuk mengaktifkan enkripsi data transparan.

    API

    Deskripsi

    Aktifkan TDE

    Mengaktifkan enkripsi data transparan untuk instans RDS.