Transparent Data Encryption (TDE) mengenkripsi file database Anda di lapisan penyimpanan secara real time. Data dienkripsi sebelum ditulis ke disk dan didekripsi saat dibaca ke memori—aplikasi Anda tetap terhubung dan menjalankan kueri seperti biasa tanpa perlu mengubah kode.
Cara kerja TDE
TDE menggunakan algoritma Advanced Encryption Standard (AES) dengan kunci 256-bit. Enkripsi dan dekripsi terjadi di tingkat I/O: mesin database menangani kedua operasi tersebut secara transparan.
Manajemen kunci ditangani melalui Alibaba Cloud Key Management Service (KMS). Pilih salah satu dari dua jenis kunci berikut sebelum mengaktifkan TDE:
| Jenis kunci | Dikelola oleh | Biaya | Paling cocok untuk |
|---|---|---|---|
| Service key | Alibaba Cloud (otomatis) | Tidak dikenai biaya | Pengaturan paling sederhana; tidak ada persyaratan kepatuhan terkait kepemilikan kunci |
| Custom key | Anda, melalui KMS | Dikenai biaya kunci KMS | Kontrol penuh atas siklus hidup kunci (rotasi, penonaktifan, penghapusan); kepatuhan regulasi |
Ruang lingkup penerapan
Sebelum memulai, pastikan bahwa:
-
Kluster Anda memenuhi versi mesin minor minimum:
TDE tidak dapat diaktifkan untuk kluster serverless yang menjalankan MySQL 8.0.2.
Seri produk Mesin database Minimum versi mesin minor Cluster Edition MySQL 5.6 5.6.1.0.21 MySQL 5.7 5.7.1.0.3 MySQL 8.0.1, MySQL 8.0.2 8.0.1.1.1 Standard Edition MySQL 5.7 5.7.1.0.3 MySQL 8.0.1, MySQL 8.0.2 8.0.1.1.1 Multi-master Cluster (Limitless) MySQL 8.0.1 8.0.1.0.42 MySQL 8.0.2 8.0.2.0.6 -
Jika Anda berencana menggunakan custom key, Anda juga memerlukan:
-
Instans Alibaba Cloud KMS yang aktif
-
PolarDB yang telah diotorisasi untuk mengakses KMS (Otorisasi PolarDB untuk mengakses KMS)
-
Akun Alibaba Cloud atau Pengguna Resource Access Management (RAM) dengan izin
AliyunSTSAssumeRoleAccess
-
Penagihan
| Jenis biaya | Detail |
|---|---|
| Penyimpanan | TDE tidak meningkatkan ukuran file data. Tidak ada biaya penyimpanan tambahan. |
| Service key | Tidak dikenai biaya. |
| Custom key | Tidak ada biaya PolarDB. Dikenai biaya kunci KMS. |
Batasan
Tinjau batasan berikut sebelum mengaktifkan TDE:
-
Tidak dapat dikembalikan: TDE tidak dapat dinonaktifkan setelah diaktifkan.
-
Perlu restart kluster: Mengaktifkan TDE akan me-restart kluster, menyebabkan gangguan layanan singkat (sekitar 10 menit). Jadwalkan operasi ini pada jam sepi.
-
Dampak performa: Pada skenario yang intensif I/O, enkripsi dan dekripsi mengonsumsi sejumlah kecil sumber daya CPU dan mungkin sedikit memengaruhi performa database.
-
Batasan serverless: TDE tidak dapat diaktifkan untuk kluster serverless yang menjalankan MySQL 8.0.2.
-
Risiko custom key: Jika custom key Anda menjadi tidak tersedia, kluster akan menjadi tidak tersedia pada restart berikutnya. Lihat Risiko custom key untuk detail selengkapnya.
-
Global Database Network (GDN): Mengaktifkan TDE pada kluster utama secara otomatis mengaktifkannya pada semua kluster secondary. Semua kluster dalam GDN menggunakan kunci yang sama, yang berada di wilayah kluster utama. Anda tidak dapat mengaktifkan TDE pada kluster secondary secara independen, dan wilayah kunci tidak dapat diubah.
Aktifkan TDE
Mengaktifkan TDE akan me-restart kluster dan tidak dapat dibatalkan. Lanjutkan dengan hati-hati.
-
Masuk ke Konsol PolarDB. Di panel navigasi kiri, klik Settings and Management > Security. Pada tab TDE Settings, aktifkan sakelar TDE Status.
-
Pada kotak dialog, pilih jenis kunci:
-
Service Key (Automatically Generated by Alibaba Cloud): Klik OK. Tidak diperlukan konfigurasi tambahan.
-
Use Existing Custom Key: Pilih kunci dari daftar drop-down lalu klik OK. Jika tidak ada kunci yang terdaftar, buat kunci di KMS terlebih dahulu.
Saat membuat kunci KMS untuk TDE, pilih salah satu algoritma enkripsi
Aliyun_AES_256atauAliyun_SM4. TDE hanya mendukung kedua algoritma ini. -
-
Tunggu hingga proses aktivasi TDE selesai. Proses ini memakan waktu sekitar 10 menit dan akan me-restart kluster.
(Opsional) Enkripsi otomatis tabel baru
Untuk mengenkripsi semua tabel yang dibuat setelah TDE diaktifkan, aktifkan sakelar Advanced Settings saat mengaktifkan TDE.
Pengaturan ini tersedia pada:
-
PolarDB for MySQL 8.0 dengan versi mesin minor 8.0.1.1.15 atau lebih baru
-
PolarDB for MySQL 5.7 dengan versi mesin minor 5.7.1.0.35 atau lebih baru
Enkripsi tabel yang sudah ada
Mengaktifkan TDE tidak secara otomatis mengenkripsi tabel yang sudah ada. Jalankan ALTER TABLE untuk mengenkripsinya secara manual.
Tabel akan terkunci dan tidak dapat dibaca atau ditulis selama eksekusi ALTER TABLE.
| Versi database | Enkripsi tabel | Dekripsi tabel |
|---|---|---|
| MySQL 5.6 | ALTER TABLE <table_name> BLOCK_FORMAT=ENCRYPTED; |
ALTER TABLE <table_name> BLOCK_FORMAT=DEFAULT; |
| MySQL 5.7, MySQL 8.0 | ALTER TABLE <table_name> ENCRYPTION = 'Y'; |
ALTER TABLE <table_name> ENCRYPTION = 'N'; |
Verifikasi status enkripsi
Jalankan SHOW CREATE TABLE <table_name>; untuk memeriksa apakah suatu tabel telah dienkripsi.
-
MySQL 5.7, MySQL 8.0: Tabel dienkripsi jika output berisi
ENCRYPTION='Y'. -
MySQL 5.6: Tabel dienkripsi jika output berisi
BLOCK_FORMAT=ENCRYPTED.
Risiko custom key
Saat menggunakan custom key, ketersediaan kunci secara langsung menentukan ketersediaan kluster. Kluster akan menjadi tidak tersedia jika salah satu kondisi berikut terjadi:
-
Kunci dinonaktifkan di KMS
-
Penghapusan kunci dijadwalkan di KMS
-
Materi kunci dihapus di KMS
-
Otorisasi PolarDB untuk mengakses KMS dicabut
FAQ
Apa dampak mengaktifkan TDE terhadap bisnis saya?
Mengaktifkan TDE akan me-restart kluster, yang menyebabkan gangguan layanan singkat. Jadwalkan operasi ini pada jam sepi. Untuk beban kerja yang intensif I/O, harapkan adanya overhead performa kecil akibat operasi enkripsi dan dekripsi.
Masalah keamanan apa yang diselesaikan oleh TDE?
TDE melindungi data saat disimpan di disk. TDE mencegah pengguna yang tidak sah membaca file database secara langsung dari penyimpanan—misalnya, jika media fisik dilepas atau file penyimpanan diakses di luar mesin database. Perlindungan ini sepenuhnya transparan bagi aplikasi.
Bisakah saya mewajibkan Pengguna RAM untuk mengaktifkan TDE saat membuat kluster?
Bisa. Konfigurasikan kebijakan RAM untuk mewajibkan aktivasi TDE saat Pengguna RAM membuat kluster melalui konsol atau API.
Langkah selanjutnya
Referensi API
| API | Deskripsi |
|---|---|
| DescribeDBClusterTDE | Kueri pengaturan TDE untuk kluster PolarDB |
| DescribeUserEncryptionKeyList | Daftar custom key untuk kluster PolarDB |
| CheckKMSAuthorized | Periksa apakah kunci KMS tersedia |
| ModifyDBClusterTDE | Aktifkan TDE untuk kluster PolarDB |