Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Mặt nạ dữ liệu trong các ứng dụng DB

Bảo vệ dữ liệu ở trạng thái nghỉ và chuyển động

Các ứng dụng cơ sở dữ liệu cập nhật và truy vấn các bảng có thể cần bảo mật dữ liệu đi vào hoặc được truy xuất từ ​​các bảng đó. Dữ liệu nhạy cảm phải được bảo vệ trên đường vào bảng, khi vào bảng hoặc trên đường ra. Trong mọi trường hợp, mục tiêu là ngăn những người không được phép truy cập vào các giá trị hàng hoặc cột nhất định được coi là nhạy cảm.

Đối với dữ liệu dạng bình thường (có cấu trúc) trong cơ sở dữ liệu quan hệ, tiện ích tạo mặt nạ dữ liệu độc lập IRI FieldShield hoặc thư viện tương thích về các chức năng tạo mặt nạ có thể gọi của nó, có thể đáp ứng các tình huống ở trên, cung cấp nhiều tùy chọn cho cả tĩnh (liên tục, ở trạng thái nghỉ) và động (trong -transit) tùy chọn che dữ liệu. Nếu bạn cũng có các giá trị PII / PHI trôi nổi ngẫu nhiên trong các cột RDB bán và không có cấu trúc (như văn bản, C / BLOB, XML / JSON), hãy xem bài viết này về phương pháp IRI DarkShield.

Tuy nhiên, bài viết này sẽ nói về các tùy chọn FieldShield, vì hầu hết người dùng RDB đều quan tâm đến việc tìm và che các giá trị cột cố định. Người dùng FieldShield có thể phân loại, định vị và che dữ liệu trong bảng DB và đối với người dùng ứng dụng, chạy qua:

  • tạo mặt nạ dữ liệu tĩnh trên bảng sản xuất và hiển thị động bởi người dùng ứng dụng được ủy quyền
  • che các chức năng được nhúng trong các công việc chuyển đổi, làm sạch hoặc báo cáo tương thích với siêu dữ liệu
  • một hệ thống xử lý dữ liệu động dựa trên proxy
  • thông qua API SDK hoặc hệ thống, gọi từ một chương trình
  • in-situ, thông qua các thủ tục SQL sử dụng thư viện tùy chỉnh

Nếu dữ liệu của bạn nằm trong cơ sở dữ liệu NoSQL như MongoDB, Cassandra, Elasticsearch hoặc MarkLogic, FieldShield sẽ xử lý các tập hợp có cấu trúc, trong khi DarkShield sẽ xử lý cả các tập hợp có cấu trúc và không có cấu trúc.

Theo mặc định - và cách IRI Workbench GUI trình bày FieldShield cho người dùng cuối và DBA - một hoặc nhiều bảng đầy đủ thường được bảo mật bằng các chức năng che dữ liệu tĩnh (như mã hóa, redaction, bút danh) theo các quy tắc nghiệp vụ. Việc lựa chọn mỗi "lá chắn trường (cột)" phải dựa trên tính bảo mật, tính hiện thực, khả năng đảo ngược và có thể là các cân nhắc về CPU hoặc bộ nhớ.

Cách tiếp cận tĩnh hoạt động tốt khi dữ liệu ở trạng thái nghỉ. Bảng nguồn có thể được bảo vệ hoặc có thể tạo bảng hoặc tệp đích mới có áp dụng các biện pháp bảo vệ. Các ứng dụng tìm nạp dữ liệu được bảo vệ không cần quan tâm đến bảo mật vì nguồn dữ liệu của chúng đã được bảo vệ trước. Các chương trình FieldShield được thiết kế để bảo vệ dữ liệu ở trạng thái nghỉ cũng có thể được lên lịch hoặc gọi vào các công việc hàng loạt để cập nhật thường xuyên.

Tuy nhiên, trong môi trường thời gian thực nơi các hàng được cập nhật cần bảo vệ động, các chức năng FieldShield phải được tích hợp vào luồng dữ liệu của ứng dụng. Có một số cách tiếp cận cần xem xét:

1) Chương trình của bạn gọi FieldShield Cơ sở dữ liệu
và các chương trình khác tìm nạp hoặc gửi dữ liệu mới hoặc dữ liệu đã thay đổi vào các bảng có thể chuyển nó vào một hàm API mã hóa FieldShield, băm, mã hóa hoặc redaction trong C, Java hoặc .NET. Bạn cũng có thể chuyển dữ liệu đang chuyển động vào một chương trình FieldShield độc lập thông qua một đường ống hoặc thủ tục đầu vào. Bất kỳ phương pháp nào trong số này đều có thể điền các mục tiêu bằng các chức năng bảo vệ (hoặc tiết lộ) cấp cột được áp dụng.

2) FieldShield Chỉ bảo vệ các bản cập nhật Các chương trình
FieldShield cũng có thể được tùy chỉnh thông qua các hàm / QUERY và / UPDATE hoặc chỉ lọc có điều kiện các bản ghi mới, trong đó các hàng được bảo vệ đáp ứng các tiêu chí cụ thể, chẳng hạn như độ mới. Các lệnh gọi API sẽ cho phép logic nghiệp vụ chi tiết hơn và tạo điều kiện cho nhiều điều kiện "tốc độ" (hoặc độ trễ) dữ liệu hơn - ví dụ:che giấu dữ liệu theo thời gian thực hơn - bởi vì những nhu cầu đó có thể được thể hiện thông qua ứng dụng và được xác định bởi logic của nó. Xem ví dụ PL / SQL này về tạo mặt nạ thời gian thực dựa trên trình kích hoạt.

3) Chụp và bảo vệ các vùng đồng bằng trong CoSort (FieldShield Parent) Công việc thu thập dữ liệu
Thay đổi (CDC) cũng có thể được lập trình bằng Ngôn ngữ điều khiển sắp xếp của CoSort (SortCL), trong đó chỉ các chèn, cập nhật, xóa hoặc các hàng không thay đổi được chọn mới có thể được chuyển tới các bảng hoặc tệp có áp dụng bảo vệ cột khi điều này xảy ra. Người dùng CoSort có tất cả các chức năng bảo vệ FieldShield theo ý của họ, vì vậy chỉ có thể che giấu dữ liệu đã thay đổi trong mô hình báo cáo hàng loạt này.

4) Chặn truy vấn dựa trên proxy
IRI hiện cung cấp trình điều khiển “JDBC SQL Trail” đặc biệt cho các ứng dụng sử dụng để lọc các truy vấn DB cho người dùng được ủy quyền cũng như các bảng và cột cụ thể. Những người không được miễn trừ khỏi định nghĩa chính sách DDM sẽ chỉ thấy các giá trị được biên tập lại toàn bộ hoặc một phần trong chuyến bay tới ứng dụng được kết nối đặc biệt đó từ cơ sở dữ liệu, vẫn được hiển thị ở phần còn lại.

5) Tích hợp tùy chỉnh
IRI có thể làm việc với DBA hoặc lập trình viên ứng dụng của bạn để thiết kế một giải pháp riêng có liên quan đến các yếu tố trên hoặc cung cấp các thư viện FieldShield mà các thủ tục SQL của bạn có thể gọi tại chỗ như vậy để bảo vệ hoặc tiết lộ (mã hóa hoặc giải mã) truy vấn kết quả, bảng truy vấn, dạng xem cụ thể hóa, v.v.

Liên hệ để được trợ giúp tích hợp chức năng che dữ liệu động như redaction hoặc mã hóa bảo toàn định dạng vào ứng dụng của bạn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hội thảo trên web về Plan Explorer 3.0 - Mẫu và Hỏi và Đáp

  2. Những gì tôi muốn thấy trong Amazon EC2 cho Quản lý cơ sở dữ liệu

  3. MuleSoft đưa GraphQL vào Tích hợp API nâng cao

  4. Đã cập nhật tùy chọn cấp cơ sở dữ liệu SQL Azure

  5. 18 cơ sở dữ liệu NoSQL mã nguồn mở miễn phí và được sử dụng rộng rãi nhất