Fitur Enkripsi Kolom di Data Security Center (DSC) melindungi data Anda dengan mengenkripsi kolom tertentu dalam database untuk penyimpanan. Fitur ini mengamankan data sensitif di 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, serta mencegah personel yang tidak berwenang menggunakan perangkat lunak platform cloud atau alat koneksi database untuk secara langsung mengakses data sensitif dalam bentuk teks biasa. Hal ini membantu Anda mengurangi ancaman keamanan internal dan eksternal serta memastikan keamanan data.
Pengenalan fungsi
Fitur Enkripsi Kolom di Data Security Center mencakup dua bagian utama: pengaturan enkripsi dan pengelolaan izin akun. Pengaturan enkripsi menentukan algoritma enkripsi, metode, dan cakupannya, seperti instansiasi basis data, database, tabel, dan kolom. Pengelolaan izin akun mengontrol akun database mana yang dapat mengakses data terenkripsi beserta izinnya.
Prinsip enkripsi
Algoritma enkripsi: Enkripsi kolom menggunakan algoritma enkripsi standar industri seperti SM4_128_GCM, AES-128-GCM, dan AES-256-GCM untuk mengenkripsi data di kolom yang ditentukan.
Metode enkripsi: Enkripsi kolom mendukung dua metode untuk mengelola kunci enkripsi untuk database yang ditentukan.
Kunci lokal: Hasilkan dan simpan kunci enkripsi di lingkungan lokal Anda.
Kunci KMS (Direkomendasikan): Gunakan Key Management Service (KMS) untuk menyimpan kunci enkripsi untuk database yang ditentukan. DSC mendukung penggunaan kunci master pelanggan yang Anda buat atau kelola di KMS. Untuk informasi lebih lanjut tentang jenis kunci, lihat Jenis kunci.
Izin akun:
Akun mengacu pada akun database yang ditarik dari database yang telah diberi otorisasi untuk DSC. Database yang didukung meliputi RDS for MySQL, RDS for PostgreSQL, PolarDB for MySQL, PolarDB for PostgreSQL, PolarDB for PostgreSQL (Kompatibel dengan Oracle), dan PolarDB-X 2.0.
Izin tersebut dijelaskan sebagai berikut:
Izin
Deskripsi
Ciphertext Permission (JDBC Decryption)
Secara default, akun dapat mengakses ciphertext kolom terenkripsi. Akun dapat menggunakan driver klien selalu-rahasia melalui SDK untuk mendekripsi data dengan kunci lokal atau kunci KMS dan melihat teks biasa.
Ciphertext Permission (no Decryption Permission)
Akun hanya dapat mengakses ciphertext kolom terenkripsi. Akun tidak dapat mendekripsi data untuk melihat teks biasa dengan cara apa pun.
Plaintext Permission
Setelah Anda mengaktifkan enkripsi kolom untuk database, akun dengan izin teks biasa tidak terpengaruh oleh pengaturan enkripsi dan dapat langsung mengakses data teks biasa di kolom terenkripsi.
Batasan enkripsi basis data
Jenis Basis Data 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 Konfigurasi 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. |
Penagihan
DSC menyediakan kuota gratis untuk mengenkripsi satu kolom. Untuk mengenkripsi lebih banyak kolom, Anda harus mengaktifkan layanan Column Encryption dan membeli Number Of Encrypted Columns yang cukup. Layanan ini ditagih berdasarkan langganan. Untuk informasi lebih lanjut tentang penagihan, lihat Ikhtisar penagihan.
Jika Anda menetapkan Encryption Method ke KMS Key dalam konfigurasi enkripsi kolom, KMS akan membebankan biaya untuk penyimpanan kunci tersebut. Untuk informasi lebih lanjut tentang penagihan, lihat Penagihan produk.
Alur penggunaan
Alur konfigurasi enkripsi kolom
Gambar berikut menunjukkan alur konfigurasi enkripsi kolom untuk database target. Untuk informasi lebih lanjut, lihat Konfigurasi enkripsi kolom untuk database.
Contoh mengakses data kolom terenkripsi
Setelah Anda mengonfigurasi enkripsi kolom, ketika akun database dengan izin ciphertext melakukan kueri terhadap kolom terenkripsi, database akan mengembalikan data dalam bentuk ciphertext. Anda dapat mendekripsi data tersebut di sisi klien untuk mendapatkan teks biasa. Hal ini memastikan bahwa data tetap terenkripsi selama transmisi antara klien dan database.
Penggunaan klien
Alibaba Cloud menyediakan driver klien selalu-rahasia untuk Java dan Go. Anda dapat menggunakan akun database dengan Izin Ciphertext (Dekripsi JDBC) untuk mendekripsi dan mengakses data teks biasa di kolom terenkripsi database target.
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) |