Data Security Center (DSC) memungkinkan Anda mengonfigurasi enkripsi kolom untuk berbagai jenis database, seperti RDS for MySQL, RDS for PostgreSQL, PolarDB for MySQL, PolarDB for PostgreSQL, PolarDB for PostgreSQL (Kompatibel dengan Oracle), dan PolarDB-X 2.0. Fitur ini memastikan bahwa data dalam kolom sensitif disimpan dalam format terenkripsi. Pengguna yang berwenang kemudian dapat menggunakan klien selalu-rahasia untuk mendekripsi dan mengakses data teks biasa.
Fitur enkripsi kolom hanya tersedia dalam edisi Gratis, Premium, Enterprise, Uji Coba 7 Hari, dan Layanan Bernilai Tambah dari Data Security Center.
Saat Anda menggunakan klien untuk mengkueri kolom terenkripsi dengan SQL, tipe data asli kolom tersebut diabaikan. Data selalu dikembalikan dalam format string. Konfigurasikan enkripsi kolom dengan hati-hati.
Prasyarat
Anda telah membeli Data Security Center dan memiliki kuota otorisasi enkripsi kolom yang mencukupi. Jika Anda belum mengaktifkan fitur enkripsi kolom atau kuota Anda tidak mencukupi, Anda dapat meningkatkan edisi Anda.
Pastikan fitur enkripsi kolom didukung di wilayah tempat instans Anda berada. Untuk informasi lebih lanjut, lihat Wilayah yang Didukung.
Batasan enkripsi database
Jenis database yang didukung | Versi yang didukung | Algoritma enkripsi yang didukung | Metode enkripsi yang didukung | Izin yang didukung |
RDS for MySQL | Versi utama adalah MySQL 5.7 atau MySQL 8.0, dan versi mesin minor adalah 20240731 atau lebih baru. |
Catatan Hanya AES_128_GCM yang didukung di wilayah luar daratan Tiongkok. |
|
|
RDS for PostgreSQL | Versi utama adalah PostgreSQL 16, dan versi mesin minor harus 20241230 atau lebih baru. | AES_256_GCM. | Kunci lokal. |
|
PolarDB for MySQL | Versi utama adalah MySQL 5.7 atau MySQL 8.0, dan versi proksi database harus 2.8.36 atau lebih baru. Penting Jika Anda menetapkan kebijakan enkripsi kolom untuk database PolarDB for MySQL, Anda harus menggunakan titik akhir proxy database (mode pembagian baca/tulis) untuk menghubungkan ke database. Jika Anda menggunakan titik akhir utama, kebijakan enkripsi kolom tidak berlaku. Untuk informasi lebih lanjut, lihat Mengonfigurasi proksi database dan Mengelola titik akhir. | AES_128_GCM. | Kunci lokal. | |
PolarDB for PostgreSQL | Versi utama adalah PostgreSQL 14, dan versi database adalah 2.0.14.15.31.0 atau lebih baru. | AES_256_GCM. | Kunci lokal. | |
PolarDB for PostgreSQL (Kompatibel dengan Oracle) | Hanya kompatibilitas sintaks Oracle 2.0 yang didukung. Versi utama adalah PostgreSQL 14, dan versi database adalah 2.0.14.15.31.0 atau lebih baru. | AES-256-GCM. | Kunci lokal. | |
PolarDB-X 2.0 | Versi database adalah polardb-2.5.0_5.4.20-20250714_xcluster8.4.20-20250703 atau lebih baru. |
| Kunci lokal. |
Prosedur
Saat pertama kali masuk ke konsol DSC setelah mengaktifkan instans, Anda harus menyelesaikan langkah-langkah berikut untuk menggunakan fitur enkripsi kolom: Otorisasi DSC untuk mengakses sumber daya cloud, menyinkronkan aset database, menjalankan tugas deteksi data sensitif, dan mengaktifkan fitur enkripsi kolom.
Langkah 1: Berikan izin DSC untuk mengakses sumber daya cloud
Setelah otorisasi selesai, instans DSC dapat mengakses sumber daya dari layanan cloud seperti OSS, RDS, dan MaxCompute.
Masuk ke Konsol Data Security Center.
Di kotak dialog RAM Authorization, klik Authorize Now.
Langkah 2: Sinkronkan aset database
Sebelum menggunakan DSC untuk mendeteksi data sensitif di produk cloud seperti RDS dan PolarDB atau untuk mengaudit aktivitas database, Anda harus terlebih dahulu menyinkronkan aset Anda.
Di panel navigasi sebelah kiri, pilih Asset Center.
Di halaman Asset Center, klik Asset synchronization.
CatatanSetelah membeli instans DSC, tugas sinkronisasi daftar aset cloud dijalankan secara otomatis saat pertama kali Anda masuk ke konsol. Tidak diperlukan operasi manual. DSC secara otomatis memindai dan menyinkronkan daftar aset setiap tengah malam.
Langkah 3: Aktifkan klasifikasi data
Untuk mengaktifkan fitur enkripsi kolom, Anda harus terlebih dahulu mengotorisasi koneksi database dan menyelesaikan tugas deteksi data. DSC mendukung Connect dan Account Logon.
Anda dapat memilih metode koneksi berdasarkan jenis database yang didukung dan kebutuhan keamanan data Anda.
Jika jenis database Anda mendukung koneksi sekali klik dan Anda tidak perlu menggunakan database sebagai database tujuan untuk tugas penyamaran data, gunakan metode koneksi sekali klik.
Jika Anda ingin menggunakan database sebagai database tujuan untuk tugas penyamaran data, Anda harus menggunakan metode koneksi berbasis nama pengguna dan kata sandi serta menghubungkan ke database dengan akun yang memiliki izin baca dan tulis.
Jenis aset data yang didukung oleh koneksi sekali klik dan koneksi berbasis nama pengguna dan kata sandi
Di panel navigasi sebelah kiri, pilih Asset Center.
Di area Structured Data di sebelah kiri, klik jenis data yang ingin Anda konfigurasikan enkripsi kolomnya.
Klik
di kolom Data Classification dari instans aset target.CatatanPastikan database telah dibuat untuk instans database dan Instance Status adalah Running. Jika database belum dibuat, Anda tidak dapat mengaktifkan fitur klasifikasi data atau membuat tugas deteksi.

Di kotak dialog Enable Classification and Grading, konfigurasikan parameter-parameter berikut.
Item Konfigurasi
Deskripsi
Activation Method
Konfigurasikan informasi akun yang digunakan untuk menghubungkan ke database untuk deteksi data. Dua metode didukung:
Automatically create database accounts : DSC secara otomatis membuat akun read-only yang diawali dengan awalan
sddp_autodi aset data target. DSC menggunakan akun ini untuk menghubungkan ke database target dan menjalankan tugas deteksi data.CatatanMetode ini hanya tersedia untuk jenis data yang mendukung pengaktifan sekali klik.
Manually enter username and password: Masukkan akun dan kata sandi yang Anda gunakan untuk menghubungkan ke database.
Authorization Scope
Cakupan otorisasi untuk deteksi data.
Entire data source.
Manage authorization scope in the data source list: Pilih cakupan otorisasi yang diinginkan.
Automatically create and start a default scan task
Jika Anda memilih opsi ini, DSC secara otomatis membuat tugas pemindaian default setelah database berhasil terhubung.
Di tab , Anda dapat mengklik Default Tasks untuk melihat status eksekusi tugas pemindaian. Untuk informasi lebih lanjut, lihat Memindai data sensitif menggunakan tugas deteksi.
Automatically connect to new databases.
Jika Anda memilih opsi ini, DSC secara otomatis menghubungkan ke database baru yang terdeteksi di instans database Anda setelah sinkronisasi aset manual atau otomatis.
Setelah menyelesaikan konfigurasi, klik OK.
Langkah 4: Lihat informasi tentang database yang akan dienkripsi
Setelah tugas deteksi data selesai, Anda dapat melihat informasi tentang instans database yang berhasil ditambahkan ke DSC, seperti jumlah total kolom, status enkripsi kolom, dan informasi akun database.
Di panel navigasi sebelah kiri, pilih .
Anda dapat melihat informasi berikut di halaman Column Encryption. Anda dapat menggunakan komponen pencarian di atas daftar database untuk mencari instans database berdasarkan kriteria seperti Jenis Aset, status enkripsi (kolom terenkripsi, kolom tidak terenkripsi, atau enkripsi gagal), dan tingkat sensitivitas.

Informasi halaman
Deskripsi
Columns
Jumlah total kolom di tabel instans database yang berhasil terhubung ke DSC.
Sensitive Data (S3 and Higher)
Kolom dengan tingkat sensitivitas S3 atau lebih tinggi dalam hasil deteksi data. Ini mencakup informasi tentang kolom sensitif, kolom terenkripsi, kolom tidak terenkripsi, dan kolom yang gagal dienkripsi.
Accounts
Total Accounts: Setiap akun di setiap database dihitung sebagai satu akun database. Misalnya, jika database A dan database B sama-sama memiliki akun bernama C, jumlah akun database adalah dua.
Accounts For Which No Encryption Configured: Saat tidak ada kolom di database yang dienkripsi, izin akun adalah Accounts For Which No Encryption Configured.
Jumlah Plaintext Permissions atau Ciphertext Permission: Saat Anda mengaktifkan enkripsi kolom untuk database, Anda dapat mengatur izin bagi akun database untuk mengakses data kolom terenkripsi.
Anda dapat mengklik angka apa pun di item statistik di atas atau mengklik Permission Settings, dan di panel Permission Settings, Anda dapat mencari dan melihat semua informasi akun untuk instans database target guna memastikan bahwa izin akses berbeda ditetapkan untuk akun database yang berbeda.
Informasi daftar
Menampilkan informasi seperti DSC Instance name, Asset Type, Region, Encryption Algorithm, Plaintext Permission Accounts, dan Encryption Check.
Anda hanya dapat mengonfigurasi enkripsi kolom untuk instans yang pemeriksaan enkripsinya Passed.
Hasil Encryption Check adalah Failed. Jika versi database tidak kompatibel, klik Upgrade di kolom Encryption Check untuk menuju ke halaman peningkatan yang sesuai di konsol RDS atau PolarDB dan meningkatkan versi database. Untuk informasi lebih lanjut, lihat FAQ tentang kegagalan pemeriksaan.
Setelah menyelesaikan peningkatan versi atau pembaruan status, Anda perlu menyelesaikan operasi Asset synchronization di konsol DSC untuk menyinkronkan informasi database terbaru.
Di panel navigasi sebelah kiri, pilih Asset Center, lalu di tab Authorization Management, klik Asset Authorization Management.
Di panel Asset Authorization Management, di bilah navigasi nama produk di sebelah kiri, klik jenis instans target (RDS atau PolarDB), lalu klik Asset synchronization.
Langkah 5: Mengonfigurasi enkripsi kolom
Setelah Anda mengonfirmasi informasi instans database target dan status Encryption Check adalah Passed, Anda dapat mengonfigurasi enkripsi kolom.
Aktifkan enkripsi sekali klik
Sebelum mengaktifkan enkripsi sekali klik untuk database, algoritma dan metode enkripsi belum dikonfigurasi, dan Anda tidak dapat mengaktifkan enkripsi untuk kolom individual.
DSC menyediakan tiga metode untuk mengaktifkan enkripsi kolom.
Klik Rapid Encryption di atas daftar instans database untuk mengonfigurasi enkripsi kolom untuk semua kolom yang belum dienkripsi.
Di kolom Actions dari instans database target, klik Rapid Encryption untuk mengonfigurasi enkripsi kolom.

Di halaman Asset Center, klik
di kolom Column Encryption dari instans database target.
Di panel Encryption Configuration, pilih Asset Type, Instance name, Encryption Algorithm, Encryption Method, dan Plaintext Permission Accounts. Kemudian, pilih Databases, Table, dan Column target untuk enkripsi dan klik OK.

Perhatikan deskripsi parameter berikut:
Operasi lainnya
Ubah izin akun database
Kecuali akun yang diberikan Plaintext Permissions, semua akun lainnya di instans database memiliki izin ciphertext. Anda dapat mengubah izin akun menjadi Plaintext Permissions, Ciphertext Permission (No Decryption Permission), atau Ciphertext Permission (JDBC Decryption) berdasarkan skenario bisnis Anda.
Di halaman , klik Permission Settings di area Accounts.
Atau, Anda dapat mengklik Edit di kolom Actions dari daftar instans. Di panel Edit, klik Configure di samping Account Permissions.
Di panel Permission Settings, cari instans dan akun target untuk melihat izin saat ini.
CatatanJika akun database baru tidak ditampilkan di daftar, lakukan Asset synchronization lalu periksa kembali.
Klik Modify Permissions di kolom Actions untuk akun target.
Anda juga dapat memilih beberapa akun target yang memiliki izin yang sama dan mengklik Batch Modify Permissions di bagian bawah daftar.
Di kotak dialog Ubah Izin, pilih izin target dan klik OK.
Ubah konfigurasi kolom terenkripsi
Setelah Anda mengonfigurasi enkripsi, Anda dapat melakukan operasi berikut:
Di daftar instans, perluas instans target. Di daftar database, temukan Databases, Table, dan Column target, lalu klik Enable Encryption atau Disable Encryption untuk mengonfigurasi enkripsi untuk satu kolom.

Di kolom Actions dari daftar instans, klik Edit. Kemudian, di panel Edit, Anda dapat mengubah algoritma enkripsi, metode enkripsi, dan cakupan kolom terenkripsi.

Klik Modify di samping Encryption Algorithm atau Encryption Method untuk memperbarui algoritma atau metode tersebut.
PentingMengubah metode enkripsi akan memulai ulang tugas enkripsi. Selama proses restart, data di kolom yang sebelumnya dienkripsi disimpan dalam bentuk teks biasa, yang menciptakan risiko keamanan berupa paparan data. Lanjutkan dengan hati-hati.
Di daftar database tempat Anda dapat mengonfigurasi kolom terenkripsi, temukan Databases, Table, dan Column target. Klik Enable Encryption atau Disable Encryption untuk memperbarui cakupan kolom terenkripsi.
Contoh enkripsi kolom MySQL
Anda dapat memverifikasi akses ke data kolom terenkripsi berdasarkan konfigurasi enkripsi kolom dan izin akun database yang ditetapkan. Konfigurasi enkripsi kolom efektif jika akun dengan izin ciphertext mengakses kolom terenkripsi dan menerima ciphertext.
Akun database RDS for PostgreSQL hanya mendukung Izin Teks Biasa dan Izin Ciphertext (dekripsi JDBC). Metode untuk memverifikasi data kolom terenkripsi sama dengan RDS for MySQL. Bagian berikut menggunakan RDS for MySQL sebagai contoh untuk menunjukkan cara memverifikasi akses ke data kolom terenkripsi di database RDS.
Contoh enkripsi kolom database RDS for MySQL
Prasyarat
Instans database RDS for MySQL 8.0 terhubung ke DSC, dan klasifikasi data sensitif telah selesai. Hasil pemindaian ditunjukkan pada gambar berikut.

Mengonfigurasi enkripsi kolom
Ikuti prosedur di Aktifkan enkripsi sekali klik untuk mengonfigurasi enkripsi kolom untuk instans database:
Aktifkan enkripsi untuk kolom nomor telepon (phone) di tabel data users.

Tetapkan izin akses berikut untuk akun database.

Gunakan akun database untuk mengakses data kolom terenkripsi
Gunakan akun dengan Plaintext Permissions untuk masuk ke database. Untuk informasi lebih lanjut, lihat Masuk ke database RDS menggunakan DMS.
Jalankan pernyataan SELECT untuk melihat tabel data. Kolom terenkripsi mengembalikan teks biasa.

Beralih ke akun dengan Ciphertext Permission (No Decryption Permission) dan masuk ke database. Jalankan pernyataan SELECT untuk melihat tabel data. Kolom terenkripsi mengembalikan ciphertext.

Masuk ke database menggunakan akun dengan Ciphertext Permission (JDBC Decryption) dan jalankan pernyataan SELECT untuk melihat tabel data. Kolom terenkripsi mengembalikan ciphertext.

Contoh enkripsi kolom database PolarDB for MySQL
Prasyarat
Kluster database PolarDB for MySQL 5.7 terhubung ke DSC, dan klasifikasi data sensitif telah selesai. Hasil pemindaian ditunjukkan pada gambar berikut.

Mengonfigurasi enkripsi kolom
Ikuti prosedur di Aktifkan enkripsi sekali klik untuk mengonfigurasi enkripsi kolom untuk instans database:
Aktifkan enkripsi untuk kolom kata sandi (password) di tabel data user3.

Tetapkan izin akses berikut untuk akun database.

Gunakan akun database untuk mengakses data kolom terenkripsi
Karena DMS terhubung ke kluster PolarDB for MySQL menggunakan titik akhir utama, kebijakan enkripsi kolom tidak berlaku. Contoh ini menggunakan command line untuk menghubungkan ke kluster PolarDB for MySQL melalui titik akhir proxy database guna memverifikasi hasil enkripsi kolom.
Instal versi MySQL di server Anda yang kompatibel dengan sistem operasi Anda.
Hubungkan ke kluster database menggunakan perintah berikut.
mysql -h<endpoint> -P<port> -u<username> -p<password>Endpoint dan Port: Gunakan titik akhir kluster dan pastikan server Anda dapat mengakses titik akhir tersebut. Untuk informasi lebih lanjut, lihat Mengonfigurasi proksi database dan Mengelola titik akhir.
Nama pengguna dan kata sandi: Contoh ini menggunakan akun database dan kata sandi yang memiliki Izin Teks Biasa dan Izin Ciphertext (dekripsi JDBC).
Contoh perintah koneksi:
Gunakan akun dengan izin teks biasa:
mysql -hpc-bp1fd7********v6f.rwlb.rds.aliyuncs.com -P3306 -usddp_polardb -pH********4Gunakan akun dengan Izin Ciphertext (Dekripsi JDBC):
mysql -hpc-bp1fd7********v6f.rwlb.rds.aliyuncs.com -P3306 -usddp_03 -pP********3
Jalankan perintah berikut untuk melihat tabel data.
Gunakan perintah
use <database_name>;untuk memasuki database target. Dalam contoh ini, database sddp_test dipilih.use sddp_test;Jalankan pernyataan SELECT untuk melihat tabel data.
SELECT * FROM user3 LIMIT 0, 3;
Contoh hasil:
Untuk akun dengan izin teks biasa, kolom terenkripsi mengembalikan teks biasa.

Untuk akun dengan Izin Ciphertext (Dekripsi JDBC), kolom terenkripsi mengembalikan ciphertext.

Akses teks biasa kolom terenkripsi setelah dekripsi oleh klien
Untuk menggunakan klien guna mengakses teks biasa kolom database terenkripsi, Anda dapat menggunakan akun dengan Ciphertext Permission (JDBC Decryption) untuk mendekripsi dan mengakses data menggunakan klien selalu-rahasia untuk Java atau Go.
Bahasa pemrograman | Jenis database yang didukung | Referensi |
Java |
| Integrasikan EncJDBC (Mendukung dekripsi menggunakan kunci lokal dan kunci KMS) |
Go |
| Integrasikan driver Go (Hanya mendukung dekripsi menggunakan kunci lokal) |
FAQ untuk kegagalan pemeriksaan
Versi database RDS atau PolarDB tidak didukung
Klik Go To Upgrade di kolom Encryption Check. Anda akan diarahkan ke halaman peningkatan yang sesuai di konsol RDS atau PolarDB untuk meningkatkan versi database.
Versi mesin minor RDS atau versi proksi database PolarDB tidak didukung
Jika instans database RDS adalah instans read-only
Saat instans read-only dibuat, data direplikasi dari instans utama untuk memastikan konsistensi data. Pembaruan pada instans utama secara otomatis disinkronkan ke semua instans read-only. Oleh karena itu, Anda dapat mengonfigurasi enkripsi kolom pada instans utama.
Status instans database bukan Berjalan
Anda tidak dapat mengonfigurasi enkripsi kolom untuk instans database yang dijeda atau sedang dalam pemeliharaan. Anda dapat memulai instans atau menunggu hingga pemeliharaan selesai. Setelah Anda memastikan status instans database adalah Running, Anda dapat mengonfigurasi enkripsi kolom.
Referensi
Untuk informasi lebih lanjut tentang fitur dan prinsip enkripsi kolom database, lihat Ikhtisar Enkripsi Kolom.
Untuk petunjuk detail tentang otorisasi dan koneksi database, lihat Otorisasi Database Umum.
Untuk mempelajari cara melihat dan memperbaiki hasil deteksi data sensitif, lihat Memindai data sensitif menggunakan tugas deteksi.
Jika data di kolom database sensitif berubah setelah otorisasi, Anda harus melakukan pemindaian ulang. Untuk informasi lebih lanjut, lihat Memindai data sensitif menggunakan tugas deteksi.
