Untuk memenuhi persyaratan keamanan dan kepatuhan terhadap enkripsi data statis, kami merekomendasikan penggunaan Enkripsi Data Transparan (TDE) untuk mengenkripsi dan mendekripsi file data secara real-time. Fitur ini mengenkripsi data di lapisan database, mencegah penyerang melewati database untuk membaca informasi sensitif langsung dari penyimpanan.
Ikhtisar
Pengenalan: Setelah mengaktifkan TDE, data dienkripsi sebelum ditulis ke disk dan didekripsi saat dibaca ke dalam memori. Aplikasi dan pengguna yang terotentikasi dapat mengakses data secara transparan tanpa perlu mengubah kode aplikasi atau konfigurasi. Namun, pengguna tidak sah, termasuk pengguna OS, tidak dapat membaca data sensitif dalam teks biasa dari file ruang tabel, disk, atau file cadangan.
Kunci: Key Management Service (KMS) menghasilkan dan mengelola kunci yang digunakan untuk TDE. RDS tidak menyediakan kunci atau sertifikat yang diperlukan untuk enkripsi. Anda dapat menggunakan kunci yang dihasilkan secara otomatis oleh Alibaba Cloud atau mengotorisasi RDS untuk menggunakan CMK Anda sendiri.
Algoritma enkripsi: Setelah mengaktifkan TDE, algoritma enkripsi bervariasi berdasarkan versi mesin database, seperti yang ditunjukkan dalam tabel berikut.
Versi mesin database | Algoritma enkripsi yang didukung | Cara memodifikasi algoritma |
MySQL 5.6 |
| Algoritma tidak dapat dimodifikasi. |
MySQL 5.7, 8.0 |
| Modifikasi algoritma menggunakan parameter |
Memodifikasi parameter innodb_encrypt_algorithm adalah operasi berisiko tinggi. Ini mempengaruhi algoritma enkripsi dan dekripsi untuk semua data terenkripsi dalam instans, termasuk tabel dan log terenkripsi. Mengatur parameter ini ke algoritma yang berbeda dari yang digunakan untuk enkripsi akan menyebabkan dekripsi gagal. Parameter innodb_encrypt_algorithm tidak terlihat di Konsol. Untuk memodifikasi parameter ini, ajukan Tiket.
Prasyarat
Untuk menggunakan TDE, instans Anda harus memenuhi kondisi berikut:
Versi mesin database: MySQL 8.0, 5.7, atau 5.6 dengan versi mesin minor 20191015 atau lebih baru.
Edisi: Edisi Ketersediaan Tinggi atau Edisi Kluster.
Key Management Service (KMS) telah diaktifkan. Jika belum mengaktifkan KMS, Anda akan dipandu untuk mengaktifkannya saat mengaktifkan TDE.
Gunakan Akun Alibaba Cloud Anda untuk mengotorisasi RDS mengakses KMS.
Catatan Penggunaan
Setelah TDE diaktifkan, fitur ini tidak dapat dinonaktifkan, kunci tidak dapat diubah, dan penggunaan CPU akan meningkat secara signifikan.
Alih bencana Instans: Mengaktifkan TDE memulai ulang instans dan menyebabkan Alih bencana. Instans tidak tersedia selama sekitar 30 detik. Kami merekomendasikan melakukan operasi ini selama jam-jam sepi dan memastikan aplikasi Anda memiliki mekanisme rekoneksi otomatis.
Tidak ada perubahan aplikasi: Mengaktifkan TDE tidak meningkatkan ukuran file data. Anda dapat menggunakan TDE tanpa mengubah kode aplikasi atau konfigurasi Anda.
Batasan pemulihan data: Setelah TDE diaktifkan, pemulihan lintas wilayah tidak didukung. Untuk memulihkan data ke mesin lokal, Anda harus terlebih dahulu mendekripsi data.
Batasan perubahan konfigurasi: Setelah TDE diaktifkan, Anda tidak dapat mengubah edisi instans dari Edisi Ketersediaan Tinggi ke Edisi Kluster.
Batasan CMK: Saat menggunakan CMK yang ada, perhatikan hal-hal berikut:
CMK harus berupa kunci simetris. Kunci asimetris tidak didukung.
Jika instans KMS menjadi tidak tersedia (misalnya, kedaluwarsa atau dihapus), kunci dinonaktifkan, penghapusan dijadwalkan untuk kunci, atau bahan kunci dihapus, kunci menjadi tidak dapat digunakan, membuat data pada instans ApsaraDB RDS Anda tidak dapat dipulihkan.
Jika Anda mencabut otorisasi dan kemudian memulai ulang instans RDS, instans tersebut akan menjadi tidak tersedia.
Peningkatan versi mesin minor: Untuk memastikan stabilitas instans, kami merekomendasikan agar Anda memperbarui versi mesin minor dari instans utama dan instans hanya baca Anda ke versi terbaru.
Aktifkan TDE
Anda dapat mengaktifkan TDE menggunakan kunci yang dihasilkan secara otomatis oleh Alibaba Cloud atau CMK Anda sendiri. Untuk melakukannya, gunakan Akun Alibaba Cloud Anda atau akun dengan izin AliyunSTSAssumeRoleAccess.
Pergi ke halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Kemudian, temukan instans RDS dan klik ID instans tersebut.
Di panel navigasi di sebelah kiri, klik Data Security dan kemudian pilih tab TDE.
Di bagian , aktifkan TDE Status.
Pilih jenis kunci:
Gunakan Kunci yang Dihasilkan Secara Otomatis: Opsi ini menggunakan Kunci Layanan dari KMS.
Gunakan Kunci Kustom yang Ada: Pilih CMK yang ada. Hanya kunci simetris yang didukung.
CatatanJika tidak ada kunci yang tersedia, klik pergi ke Konsol KMS untuk membuat kunci dan mengimpor bahan kunci Anda sendiri. Saat membuat kunci, pilih Kunci Simetris untuk Tipe Kunci Enkripsi.
Klik OK.
Enkripsi dan Dekripsi Data dengan TDE
Enkripsi data
Masuk ke database Anda dan jalankan perintah berikut untuk mengenkripsi tabel.
Setelah mengaktifkan TDE, tabel yang sudah ada tidak dienkripsi secara otomatis. Anda harus secara manual menjalankan perintah berikut untuk setiap tabel yang ingin Anda enkripsi.
MySQL 5.6
ALTER TABLE <tablename> engine=innodb,block_format=encrypted;MySQL 5.7 atau 8.0
ALTER TABLE <tablename> encryption='Y';
Dekripsi data
Masuk ke database Anda dan jalankan perintah berikut untuk mendekripsi tabel.
MySQL 5.6
ALTER TABLE <tablename> engine=innodb,block_format=default;MySQL 5.7 atau 8.0
ALTER TABLE <tablename> encryption='N';
FAQ
T1: Apakah saya masih bisa terhubung ke instans ApsaraDB for MySQL saya dengan alat seperti Navicat setelah mengaktifkan TDE?
A: Ya. TDE beroperasi secara transparan untuk koneksi yang terotentikasi. Alat database seperti Navicat terhubung sebagai pengguna yang berwenang, sehingga data secara otomatis didekripsi di memori saat Anda mengaksesnya. Tidak diperlukan perubahan untuk alat klien Anda.
T2: Bagaimana cara migrasi data dari instans ApsaraDB for MySQL yang diaktifkan TDE ke instans RDS lainnya?
A: Anda dapat memigrasi data menggunakan metode standar tanpa langkah tambahan. Alat migrasi data terhubung ke database sumber sebagai pengguna yang terotentikasi, membaca data setelah dienkripsi secara transparan oleh mesin database. Proses migrasi sama seperti untuk instans yang tidak dienkripsi.
T3: Mengapa data saya muncul dalam teks biasa ketika saya menanyakan tabel yang dienkripsi TDE?
A: Ini adalah perilaku yang diharapkan dari TDE. TDE melindungi data saat disimpan (di disk), bukan data saat digunakan (di memori).
Saat pengguna yang berwenang menanyakan tabel yang dienkripsi, mesin database secara otomatis mendekripsi data di memori sebelum mengembalikan hasilnya.
File data aktual di disk dan cadangan apa pun tetap terenkripsi. Ini mencegah akses tidak sah ke informasi sensitif jika seseorang mendapatkan akses ke penyimpanan fisik atau file cadangan.
Karena cadangan dienkripsi, Anda tidak dapat langsung memulihkannya ke lingkungan lokal yang tidak terenkripsi. Untuk membuat cadangan yang dapat dipulihkan secara lokal, Anda harus terlebih dahulu mendekripsi data di database sumber.
Referensi
Untuk perbandingan metode enkripsi database yang berbeda, lihat Perbandingan teknologi enkripsi database yang berbeda.
Untuk mengenkripsi data dalam transit, aktifkan enkripsi SSL. Untuk informasi lebih lanjut, lihat Gunakan sertifikat cloud untuk dengan cepat mengaktifkan enkripsi SSL.
Untuk informasi lebih lanjut tentang operasi terkait kunci, lihat Key Management Service.
Konfigurasikan TDE untuk instans ApsaraDB RDS untuk SQL Server
Konfigurasikan TDE untuk instans ApsaraDB RDS untuk PostgreSQL
Referensi API
Operasi API | Deskripsi |
ModifyDBInstanceTDE - Modifikasi status TDE dari instans ApsaraDB RDS | Saat Anda mengaktifkan TDE untuk instans RDS, atur parameter TDEStatus ke Enabled. Konfigurasikan parameter lain sesuai kebutuhan. |