Data Management (DMS) menyediakan kontrol akses tingkat baris untuk semua database non-NoSQL yang terhubung, yang memungkinkan Anda mengontrol baris data mana yang dapat diakses pengguna. Misalnya, manajer penjualan hanya dapat melihat data dari wilayah yang ditugaskan kepadanya.
Prasyarat
Instans harus berada dalam mode kontrol Security Collaboration. Untuk informasi selengkapnya, lihat Lihat mode kontrol.
Informasi latar belakang
Dalam mengamankan data, terdapat dua pendekatan utama: perlindungan data vertikal dan horizontal.
-
Perlindungan data vertikal: Diimplementasikan melalui perlindungan data tingkat bidang.
Dengan mengklasifikasikan bidang berdasarkan tingkat sensitivitasnya, Anda dapat menerapkan penyembunyian penuh atau sebagian pada data sensitif. Untuk informasi selengkapnya, lihat Kelola data sensitif.
Misalnya, karyawan yang bertanggung jawab atas analisis statistik tidak dapat melihat alamat email pelanggan dalam tabel pesanan.

-
Perlindungan data horizontal: Diimplementasikan melalui kontrol akses tingkat baris.
Baris difilter berdasarkan satu atau beberapa nilai tertentu (nilai kontrol), sehingga Anda dapat mengontrol akses ke data tingkat baris.
Misalnya, karyawan bisnis dengan banyak lokasi hanya dapat melihat data pesanan dari toko yang ditugaskan kepadanya, bukan dari semua lokasi.

Batasan
-
Fitur ini hanya tersedia untuk database relasional, seperti MySQL dan PolarDB.
-
Fitur ini hanya tersedia untuk instans dalam mode kontrol Security Collaboration.
-
Fitur ini hanya mendukung database fisik dan belum mendukung database logis.
-
Untuk pengguna tanpa izin all-row, batasan berikut berlaku pada kondisi filter saat mereka melakukan kueri, memodifikasi, atau menghapus data dalam tabel dengan kontrol akses tingkat baris:
-
Anda harus menentukan nilai filter untuk bidang kontrol, dan nilai-nilai tersebut harus berada dalam daftar nilai kontrol.
-
Kondisi filter dibatasi. Misalnya:
-
Klausa WHERE hanya mendukung operator
=danin. -
Operasi logika seperti OR, XOR, dan NOT tidak didukung.
-
-
Konsep utama
-
Tabel kontrol, bidang kontrol, dan nilai kontrol
-
Tabel kontrol: Tabel tempat Anda ingin mengonfigurasi kontrol akses tingkat baris.
-
Bidang kontrol: Bidang dalam tabel kontrol yang digunakan untuk memberlakukan kontrol akses tingkat baris.
-
Nilai kontrol: Nilai dari bidang kontrol.
-
-
Izin tingkat baris: Izin yang mengontrol akses ke data tingkat baris berdasarkan nilai bidang kontrol.
-
Izin baris bernilai tunggal: Mengontrol akses berdasarkan satu atau beberapa nilai kontrol tertentu.
-
Izin all-rows: Memberikan akses ke semua baris dalam tabel kontrol.
-
-
Kelompok kontrol: Bidang kontrol yang memiliki kumpulan nilai kontrol yang sama dapat ditambahkan ke kelompok kontrol.
Misalnya, jika Tabel A dan Tabel B memerlukan kontrol akses tingkat baris berdasarkan nilai kontrol yang sama, Anda dapat menggunakan satu kelompok kontrol untuk mengelola kedua tabel tersebut.
Konfigurasikan kontrol akses tingkat baris
Hanya administrator, DBA, atau administrator keamanan yang dapat melakukan tugas ini. Untuk informasi lebih lanjut tentang peran pengguna, lihat Lihat peran sistem Anda.
Masuk ke DMS 5.0.
-
Arahkan penunjuk ke ikon
di pojok kiri atas dan pilih . CatatanJika Anda menggunakan Konsol DMS dalam mode normal, pilih di bilah navigasi atas.
-
Di pojok kanan atas halaman, klik Global Sensitive Data untuk membuka halaman daftar data sensitif.
-
Klik tab Row Control.
-
Klik Create Control Group dan beri nama kelompok kontrol tersebut.
-
Tambahkan konfigurasi baris, lalu klik Add.
-
Klik Add Row Configuration.
-
Cari dan pilih database target.
-
Pilih tabel target dan bidang kontrol.
-
Opsional: Klik Add Row Configuration untuk menambahkan beberapa tabel kontrol yang menggunakan nilai kontrol yang sama.
Setelah Anda mengonfigurasi kontrol akses tingkat baris, Anda tidak dapat melihat data di tabel target dari SQL Console hingga izin yang diperlukan diberikan kepada Anda. Jika Anda menjalankan kueri tanpa filter baris yang diperlukan, DMS akan mencegat permintaan tersebut dan mengembalikan error. Contohnya:
RLS Access Denied: [test]: Anda tidak memiliki izin untuk semua baris dalam tabel ini. Klausul WHERE harus menyertakan kondisi filter [1] pada bidang kontrol: name TraceId: 0a032a1516728214824878812ed7f0SELECT * FROM <code data-tag="code" id="code_522b422a6216">testSELECT * FROM `test` WHERE `name` = 'Xiaohong'; RLS Access Denied: [test]: Akses ke tabel dengan kontrol akses tingkat baris terlibat. Anda tidak memiliki izin untuk mengakses baris: name = Xiaohong. Nilai kontrol 'Xiaohong' tidak ada. Untuk mengakses nilai ini, hubungi administrator, DBA, atau administrator keamanan agar menambahkan nilai tersebut, lalu ajukan izin tingkat baris yang sesuai sebelum mencoba lagi. TraceId: 0a032a1d16728216329266611e4b0d -
-
Opsional: Untuk memberikan izin pada nilai baris tertentu, Anda harus terlebih dahulu menentukan nilai-nilai tersebut.
-
Di kolom Actions kelompok kontrol target, klik Details.
-
Di panel Control Value Details, klik Add Row Value.
-
Di kotak dialog Import Row Value, pilih apakah akan menambahkan atau mengganti nilai baris yang ada.
-
Yes: Menambahkan nilai baris baru ke nilai yang sudah ada.
-
No: Mengganti semua nilai baris yang ada dengan nilai baru.
-
-
Masukkan konten untuk nilai baris tersebut.
CatatanAnda dapat menambahkan beberapa nilai kontrol ke satu nilai baris. Pisahkan nilai kontrol dengan koma (,). Setelah permintaan Anda disetujui, Anda mendapatkan izin untuk melakukan kueri terhadap semua nilai kontrol dalam nilai baris tersebut.
Misalnya, jika seorang karyawan hanya diizinkan melihat data pelanggan dari Beijing dan Shanghai, Anda dapat memasukkan
Beijing, Shanghaisebagai konten nilai baris. Setelah permintaan izin karyawan tersebut untuk nilai baris ini disetujui, ia dapat melihat data pelanggan dari wilayah Beijing dan Shanghai.
-
Ajukan izin tingkat baris
Masuk ke DMS 5.0.
-
Arahkan penunjuk ke ikon
di pojok kiri atas dan pilih . CatatanJika Anda menggunakan Konsol DMS dalam mode normal, pilih di bilah navigasi atas.
-
Di pojok kanan atas halaman, klik .
-
Masukkan nama database.
CatatanAnda dapat menggunakan tanda persen (%) untuk pencarian fuzzy.
-
Pilih cakupan untuk izin tingkat baris.
-
Single: Ajukan izin untuk nilai baris individual.
Catatan-
Satu nilai baris dapat berisi beberapa nilai kontrol. Jika Anda memiliki izin untuk suatu nilai baris, Anda dapat melakukan kueri, ekspor, atau modifikasi data yang sesuai dengan semua nilai kontrol yang dikandungnya.
-
Satu nilai kontrol dapat berkorespondensi dengan beberapa baris. Jika Anda memiliki izin untuk suatu nilai kontrol, Anda dapat melakukan kueri, ekspor, atau modifikasi semua baris data yang sesuai dengan nilai tersebut.
-
-
All: Akses semua baris dalam tabel kontrol.
-
-
Klik Search.
-
Pilih izin tingkat baris target dan klik ikon
.CatatanTanda hubung (
-) di kolom nilai baris menunjukkan izin untuk semua baris. -
Pilih Permission type, pilih validity period, dan masukkan Reason untuk pengajuan.
-
Klik Submit.
Setelah Tiket Anda disetujui, Anda dapat mengkueri, mengekspor, atau memodifikasi data di SQL Console. Misalnya, menjalankan
SELECT * FROM <code data-tag="code" id="code_40ef381525a2">order1WHERE region = 'Beijing'; di SQL Console hanya mengembalikan dua catatan dari tabel order1 untuk Zhangsan dan Xiaoming, dengan wilayah Beijing. Hal ini mengonfirmasi bahwa kontrol akses tingkat baris berfungsi dengan benar.CatatanUntuk melepas izin tingkat baris:
-
Melepas izin Anda sendiri: Buka bagian View your permissions untuk melihat dan melepas izin Anda. Untuk informasi selengkapnya, lihat View your permissions.
-
Administrator melepas izin: Di halaman , temukan pengguna target dan pilih di kolom Actions untuk melihat dan melepas izin pengguna tersebut.
-