Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Penyembunyian Data Dinamis Berbasis Proksi di FieldShield

Artikel ini menjelaskan metode penyembunyian data dinamis (DDM) yang tersedia untuk situs premium IRI FieldShield yang menggunakan sistem berbasis proxy untuk mencegat kueri aplikasi ke database yang terhubung dengan JDBC. Ini adalah salah satu dari beberapa pendekatan untuk menyembunyikan data dalam penerbangan yang dapat dipertimbangkan oleh pengguna FieldShield.

Opsi IRI DDM lainnya meliputi:Fungsi FieldShield yang dapat dipanggil API yang disematkan ke dalam program C/C++/C#, Java, atau .NET; fungsi FieldShield real-time yang disematkan ke dalam prosedur SQL yang membuat tampilan bertopeng; dan, membuka tabir tabel yang ditutup secara statis secara dinamis untuk pengguna yang berwenang.

Sistem berbasis proxy yang diperkenalkan di sini menggunakan driver "JDBC SQL Trail" khusus database yang sesuai dengan tujuan bersama dengan aplikasi web konfigurasi dan manajemen yang disebut SQL Sharp (SQL#). Diagram ini menunjukkan arsitektur sistem sebelum dan sesudah implementasi:

Aplikasi ini saat ini mendukung platform basis data relasional berikut:

  • Oracle 11g, 12c, 18/19c
  • PostgreSQL 9.5, 9.6, 10, 11
  • MS SQL 2014, 2016
  • SAP HANA 2.0

dan memerlukan komponen pihak ketiga berikut:

  • MS Windows 7,10, atau Server 2012 dan yang lebih baru (diuji).
  • Java JDK dan JRE 1.8 atau lebih baru.
  • Tomcat 8.5 atau lebih tinggi untuk menjalankan server web SQL#.
  • Peramban web modern, seperti:
    • Google Chrome
    • Mozilla Firefox
    • Apple Safari
    • Microsoft Edge
  • Oracle atau PostgreSQL sebagai database repositori untuk menyimpan:
    • Konfigurasi pengguna dan grup SQL#
    • Akses DB dan kontrol aktivitas
    • Kebijakan penyembunyian data dinamis
    • Log audit SQL
Bagaimana Cara Kerjanya?

Dalam aplikasi web SQL#, Anda membuat kebijakan penyembunyian data untuk menyunting nilai kolom dalam penerbangan untuk semua kecuali pengguna resmi yang menyambung ke database melalui driver JDBC SQL Trail. Anda perlu menginstal dan mengonfigurasi driver tersebut untuk setiap instance database yang ingin Anda lindungi.

Kebijakan DDM menentukan tabel dan kolom mana yang akan di-mask, dan bagaimana nilai-nilai yang di-mask akan muncul. Setelah sistem dikonfigurasi dengan benar, semua kueri yang terhubung melalui driver akan tunduk pada kebijakan penyamaran.

Dimungkinkan juga untuk menentukan kebijakan untuk memblokir pengguna agar tidak masuk dan aktivitas SQL tertentu. Login lengkap dan log audit aktivitas SQL dibuat, dan dapat dilihat di SQL#.

Pengemudi tidak membedakan antara pengguna aplikasi untuk tujuan pemblokiran, penyembunyian, atau audit. Namun, Anda dapat mengotorisasi pengguna yang disebutkan secara khusus — membuat koneksi server aplikasi alternatif ke DB melalui driver yang sama — untuk melihat data dibuka kedoknya.

Membuat Kebijakan Penyembunyian

Untuk membuat kebijakan penyembunyian di SQL#, Gunakan Kebijakan Penyembunyian tab SQL# Execute Management layar. Pilih + (Tambahkan) ikon di sebelah kanan Daftar Aturan Penyamaran label.

Beri nama aturan masking, dan deskripsi opsional. Anda kemudian dapat memilih jenis topeng yang akan diterapkan dari Masing Regex: tarik-turun di Tambahkan Aturan Masking dialog.

Tiga opsi pertama telah ditentukan sebelumnya, sedangkan Regex memungkinkan Anda untuk menentukan format penyembunyian khusus. Klik + (Tambahkan) ikon di sebelah kanan TAB/COL label untuk menambahkan satu atau beberapa kombinasi tabel dan kolom, untuk menentukan nilai data mana yang akan disembunyikan.

Setelah setiap kombinasi tabel dan kolom dibuat, Klik tombol Tambah tombol di tengah dialog untuk memasukkannya ke dalam daftar. Setelah Anda selesai menentukan lokasi tabel dan kolom, Klik tombol Tambah tombol di bagian bawah untuk menambahkan lokasi ke Tambahkan Aturan Masking dialog.

Terakhir, klik Simpan di bagian bawah Tambahkan Aturan Masking dialog ketika selesai dengan aturan masking. Pada titik ini, semua pengguna yang dikonfigurasi untuk akses ke data akan melihat nilai yang disembunyikan saat menghubungkan melalui driver proxy JDBC SQL Trail.

Untuk mengizinkan pengguna melihat data yang tidak terselubung, Anda harus menambahkannya ke Daftar Pengguna yang Tidak Tertutup , seperti yang dijelaskan di bawah ini.

Memberikan Otorisasi kepada Pengguna

Dalam Kebijakan Penyembunyian . yang sama tab SQL# Execute Management layar. Klik + (Tambahkan) ikon di sebelah kanan Daftar Pengguna yang Dibuka Kedoknya label. Ini akan menampilkan Search User dialog di mana Anda dapat memilih satu atau lebih pengguna yang kuerinya ke dalam kolom dan tabel yang dipilih tidak akan disembunyikan.

Klik Simpan  di bagian bawah dialog saat Anda selesai memilih pengguna.

Menggunakan SQL# dan SQL Trail dari Aplikasi DB

Dalam contoh ini, aplikasi database kami adalah IRI Workbench, lingkungan desain pekerjaan front-end Eclipse untuk Voracity, FieldShield, dan produk perangkat lunak IRI lainnya.

Untuk mengaktifkan aplikasi Anda untuk kontrol SQL dan penyembunyian data dinamis menggunakan server proxy SQL# dan driver JDBC SQL Trail, Anda perlu mengaktifkan SQL# melalui Tomcat dan server proxy-nya. Anda juga harus mengonfigurasi driver JDBC SQL Trail di tampilan IRI Workbench Data Source Explorer, serta kebijakan DDM di SQL# seperti yang dijelaskan di atas.

Berikut adalah tampilan instance Oracle yang terhubung melalui driver JDBC SQL Trail.

Perhatikan bahwa semua operasi database normal dan wizard pekerjaan IRI akan terus bekerja melalui koneksi ini. Itu juga berarti bahwa setiap aktivitas yang tidak sah dari IRI Workbench akan diblokir, dan semua perintah SQL yang dikeluarkan dari sini ke database yang terhubung akan dicatat dalam log audit SQL#.

Ini adalah kueri Workbench pada tabel ORDERS yang dikonfigurasi kebijakan untuk DDM di SQL#:

vs. kueri yang sama yang dijalankan oleh pengguna yang berwenang, yang menampilkan data asli yang dibuka kedoknya:

Sementara itu kembali di bagian logging aplikasi SQL#, Anda dapat melihat catatan kueri kami:

dari alamat IP Workbench IRI.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membandingkan Objek dengan Nilai. Bagian 6:Implementasi Kesetaraan Struktur

  2. Kompleksitas NULL – Bagian 2

  3. Memahami Jenis dan Format MapReduce

  4. Model Data Agen Real Estat

  5. Memodelkan Struktur Data Dasar untuk Mengelola Pengguna, Utas, dan Posting