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.
CatatanUntuk informasi lebih lanjut tentang operasi terkait kunci, lihat Key Management Service.
Aktifkan enkripsi TDE
Buka halaman Instans RDS, pilih Wilayah di bilah navigasi atas, lalu klik ID instans target.
Di panel navigasi di sebelah kiri, klik Data Security.
Di tab TDE, klik slider di sebelah kiri Not Enabled.
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
Buka halaman Instans RDS, pilih Wilayah di bilah navigasi atas, lalu klik ID instans target.
Di panel navigasi di sebelah kiri, klik Data Security.
Di tab TDE, klik Replace Key di sebelah kanan TDE Status.
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.
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.
CatatanParameter 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);CatatanEnam jenis indeks dapat dienkripsi: btree, hash, spgist, gin, gist, dan brin.
Dekripsi
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
Mengaktifkan enkripsi data transparan untuk instans RDS.