Bài viết này mô tả phương pháp tạo mặt nạ dữ liệu động (DDM) có sẵn cho các trang web cao cấp IRI FieldShield sử dụng hệ thống dựa trên proxy để chặn các truy vấn ứng dụng tới cơ sở dữ liệu được kết nối JDBC. Đây là một trong một số cách tiếp cận để che dữ liệu trong chuyến bay mà người dùng FieldShield có thể cân nhắc.
Các tùy chọn IRI DDM khác bao gồm:Các hàm FieldShield có thể gọi API được nhúng vào các chương trình C / C ++ / C #, Java hoặc .NET; Các hàm FieldShield thời gian thực được nhúng vào các thủ tục SQL tạo ra các khung nhìn bị che; và hiển thị động của các bảng được che tĩnh cho người dùng được ủy quyền.
Hệ thống dựa trên proxy được giới thiệu ở đây sử dụng trình điều khiển “JDBC SQL Trail” phù hợp với mục đích, dành riêng cho cơ sở dữ liệu kết hợp với ứng dụng web quản lý và cấu hình có tên là SQL Sharp (SQL #). Sơ đồ này cho thấy kiến trúc hệ thống trước và sau khi triển khai:
Ứng dụng này hiện hỗ trợ các nền tảng cơ sở dữ liệu quan hệ sau:
- Oracle 11g, 12c, 18 / 19c
- PostgreSQL 9.5, 9.6, 10, 11
- MS SQL 2014, 2016
- SAP HANA 2.0
và yêu cầu các thành phần bên thứ ba sau:
- MS Windows 7,10 hoặc Server 2012 trở lên (đã thử nghiệm).
- Java JDK và JRE 1.8 trở lên.
- Tomcat 8.5 trở lên để chạy máy chủ web SQL #.
- Một trình duyệt web hiện đại, chẳng hạn như:
- Google Chrome
- Mozilla Firefox
- Apple Safari
- Microsoft Edge
- Oracle hoặc PostgreSQL làm cơ sở dữ liệu kho để lưu trữ:
- Cấu hình nhóm và người dùng SQL #
- Kiểm soát hoạt động và quyền truy cập DB
- Chính sách tạo mặt nạ dữ liệu động
- Nhật ký kiểm tra SQL
Nó hoạt động như thế nào?
Trong ứng dụng web SQL #, bạn tạo các chính sách che dữ liệu để chỉnh sửa các giá trị cột trong chuyến bay cho tất cả trừ người dùng được ủy quyền kết nối với cơ sở dữ liệu thông qua trình điều khiển JDBC SQL Trail. Bạn cần cài đặt và định cấu hình trình điều khiển đó cho từng phiên bản cơ sở dữ liệu mà bạn muốn bảo vệ.
Chính sách DDM xác định bảng và cột nào cần che và cách các giá trị được che sẽ xuất hiện. Khi hệ thống được định cấu hình đúng cách, tất cả các truy vấn được kết nối thông qua trình điều khiển sẽ tuân theo chính sách che mặt.
Cũng có thể xác định các chính sách để chặn người dùng đăng nhập và các hoạt động SQL nhất định. Đăng nhập đầy đủ và nhật ký kiểm tra hoạt động SQL được tạo và có thể xem được trong SQL #.
Trình điều khiển không phân biệt người dùng ứng dụng cho các mục đích chặn, che hoặc kiểm tra. Tuy nhiên, bạn có thể ủy quyền cho những người dùng được đặt tên cụ thể - thực hiện các kết nối máy chủ ứng dụng thay thế với DB thông qua cùng một trình điều khiển - để xem dữ liệu được hiển thị.
Tạo chính sách che mặt
Để tạo chính sách tạo mặt nạ trong SQL #, hãy sử dụng Chính sách tạo mặt nạ tab Quản lý thực thi SQL # màn hình. Chọn + (Thêm) ở bên phải của Danh sách quy tắc tạo mặt nạ nhãn.
Đặt tên cho quy tắc tạo mặt nạ và mô tả tùy chọn. Sau đó, bạn có thể chọn loại mặt nạ sẽ áp dụng từ Masing Regex: trình đơn thả xuống trong Thêm quy tắc tạo mặt nạ hộp thoại.
Ba tùy chọn đầu tiên được xác định trước, trong khi Regex cho phép bạn xác định định dạng tạo mặt nạ tùy chỉnh. Nhấp vào + (Thêm) ở bên phải của TAB / COL nhãn để thêm một hoặc nhiều kết hợp bảng và cột, để chỉ định giá trị dữ liệu nào sẽ bị che.
Sau khi mỗi kết hợp bảng và cột đã được tạo xong, hãy nhấp vào Thêm ở giữa hộp thoại để đưa chúng vào danh sách. Khi bạn hoàn tất việc chỉ định vị trí bảng và cột, hãy nhấp vào Thêm ở dưới cùng để thêm các vị trí vào Thêm quy tắc tạo mặt nạ hộp thoại.
Cuối cùng, nhấp vào Lưu ở cuối Thêm quy tắc tạo mặt nạ khi kết thúc với quy tắc che. Tại thời điểm này, tất cả người dùng được định cấu hình để truy cập vào dữ liệu sẽ thấy các giá trị bị che khi kết nối thông qua trình điều khiển proxy JDBC SQL Trail.
Để cho phép người dùng xem dữ liệu được hiển thị, bạn phải thêm họ vào Danh sách người dùng được hiển thị , như được mô tả bên dưới.
Cấp quyền cho Người dùng
Trong cùng một Chính sách tạo mặt nạ tab Quản lý thực thi SQL # màn hình. Nhấp vào + Biểu tượng (Thêm) ở bên phải của Danh sách người dùng được tiết lộ nhãn. Điều này sẽ hiển thị Người dùng tìm kiếm trong đó bạn có thể chọn một hoặc nhiều người dùng mà các truy vấn vào các cột và bảng đã chọn sẽ không bị che.
Nhấp vào Lưu ở cuối hộp thoại khi bạn chọn xong người dùng.
Sử dụng SQL # và SQL Trail từ các ứng dụng DB
Trong ví dụ này, ứng dụng cơ sở dữ liệu của chúng tôi sẽ là IRI Workbench, môi trường thiết kế công việc phía trước Eclipse cho Voracity, FieldShield và các sản phẩm phần mềm IRI khác.
Để kích hoạt các ứng dụng của bạn để kiểm soát SQL và tạo mặt nạ dữ liệu động bằng máy chủ proxy SQL # và trình điều khiển JDBC SQL Trail, bạn sẽ cần kích hoạt SQL # thông qua Tomcat và máy chủ proxy của nó. Bạn cũng phải định cấu hình trình điều khiển JDBC SQL Trail trong chế độ xem IRI Workbench Data Source Explorer, cũng như các chính sách DDM trong SQL # như được mô tả ở trên.
Đây là dạng xem của phiên bản Oracle được kết nối thông qua trình điều khiển JDBC SQL Trail.
Lưu ý rằng tất cả các hoạt động cơ sở dữ liệu bình thường và trình hướng dẫn công việc IRI sẽ tiếp tục hoạt động thông qua kết nối này. Điều đó cũng có nghĩa là bất kỳ hoạt động trái phép nào từ IRI Workbench sẽ bị chặn và tất cả các lệnh SQL được phát hành từ đây tới cơ sở dữ liệu được kết nối sẽ được ghi lại trong nhật ký kiểm tra SQL #.
Đây là truy vấn Workbench trên bảng ORDERS đã được định cấu hình chính sách cho DDM trong SQL #:
so với cùng một truy vấn do người dùng được ủy quyền thực hiện, truy vấn này hiển thị dữ liệu ban đầu được tiết lộ:
Trong khi quay lại phần ghi nhật ký của ứng dụng SQL #, bạn có thể thấy bản ghi truy vấn của chúng tôi:
từ địa chỉ IP Bàn làm việc IRI.