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

Cách phân loại, tìm và che giấu PII trong cơ sở dữ liệu…

Khi họ đã thực hiện các kết nối cơ sở dữ liệu của mình, người dùng IRI FieldShield và IRI DarkShield đều có nhiều tùy chọn để phân loại, tìm và xác định dữ liệu nhạy cảm trên một hoặc nhiều lược đồ. Giờ đây, họ có thể thực hiện tất cả các mục tiêu này cùng một lúc thông qua các cơ sở dựa trên quy tắc trong IRI Workbench.

Bài viết này trình bày từng bước việc sử dụng các lớp dữ liệu để tìm và che PII trên một lược đồ cơ sở dữ liệu quan hệ nhỏ bằng cách sử dụng FieldShield, mặc dù bạn có thể mở rộng các bước này cho các lược đồ lớn hơn hoặc nhiều hơn. Nếu cơ sở dữ liệu của bạn chứa các cột bán hoặc không có cấu trúc, hãy xem bài viết này về quy trình mặt nạ phân loại-tìm kiếm của DarkShield dành cho RDB hoặc bài viết này dành cho NoSQL DB.

Trong hoạt động RDB của cột có cấu trúc FieldShield, dữ liệu thường được phân loại từng lược đồ một, nhưng được che trên toàn cầu bằng cách sử dụng các quy tắc đã lưu của bạn, đặc biệt hoặc theo lịch để cập nhật.

Các quy tắc tạo mặt nạ dữ liệu mà bạn xác định cho phép bạn chọn hàm phù hợp nhất với từng lớp dữ liệu và áp dụng nó một cách nhất quán. Việc tạo ra cùng một kết quả bản mã duy nhất cho mỗi giá trị bản rõ gốc duy nhất - trong bất kỳ bảng hoặc tệp nào - cũng bảo toàn tính toàn vẹn của tham chiếu; ví dụ:các phép nối sẽ vẫn hoạt động sau khi dữ liệu bị che.

Ví dụ này sử dụng mẫu các bảng Oracle trong lược đồ SCOTT được cung cấp trong hộp cát VM của chúng tôi. Để kết nối với cơ sở dữ liệu khác, bạn cần phải định cấu hình:

  • Cấu hình kết nối DTP cho DB của bạn trong IRI Workbench sử dụng JDBC
  • ODBC DSN cho DB nguồn đó

Để biết thông tin về cách kết nối cơ sở dữ liệu của bạn để sử dụng với FieldShield, hãy xem Thiết lập DB tại đây.

Các bước tôi sẽ mô tả là:

  1. Thiết lập - Xác định Lớp dữ liệu &Quy tắc tạo mặt nạ
  2. Quét - Chạy Trình hướng dẫn Tìm kiếm Lớp Dữ liệu Lược đồ
  3. Xem lại &Điều chỉnh - Trình chỉnh sửa Thư viện Lớp Dữ liệu
  4. Mask - Chạy trình hướng dẫn tạo mặt nạ cơ sở dữ liệu lớp dữ liệu

Ở đây cũng có một loạt video được liên kết với các hướng dẫn từng bước tương tự.

Thiết lập - Xác định Lớp dữ liệu &Quy tắc tạo mặt nạ

Để sử dụng các lớp dữ liệu với các quy tắc và trình hướng dẫn, các lớp dữ liệu trước tiên phải được định nghĩa và lưu. Điều này có thể được thực hiện thông qua Window> Preferences> IRI> Data Class and Groups . Xem bài viết này về Phân loại dữ liệu trong IRI Workbench để tìm hiểu sâu hơn. Ngoài ra còn có các video hướng dẫn về Quy tắc thiết lập và phân loại dữ liệu.

Các lớp dữ liệu có thể khớp với cột theo tên cột (lớp EMAIL khớp với cột có tên EMAIL) hoặc bằng cách khớp với dữ liệu có trong cột. Ví dụ này có các lớp có một biểu thức chính quy hoặc một tệp tập hợp. Một tập hợp tệp chứa các mục nhập đóng vai trò tra cứu từ điển.

Trên trang tùy chọn đó, hãy xác nhận rằng các lớp dữ liệu này tồn tại:

  • Lớp CREDIT_CARD sử dụng \ b ((4 \ d {12} (\ d {3})?)) | (?:5 [1-5] [0-9] {2} | 222 [1-9] | 22 [3-9] [0-9] | 2 [3-6] [0-9] {2} | 27 [01] [0-9] | 2720) [0-9] {12} | ( 3 [47] \ d {13}) | (3 (0 [0-5] | [68] \ d) \ d {11}) | (6 (011 | 5 \ d {2}) \ d {12 }) | ((2131 | 1800 | 35 \ d {3}) \ d {11}) | (8 \ d {15}) \ b như một người kết hợp.
  • Lớp EMAIL sử dụng \ b [\ w ._% + -] + @ [\ w .-] + \. [A-Za-z] {2,4} \ b
  • Lớp PHONE_US sử dụng ^ (\ +? (1) ([.-]?)?)? (\ (? ([2-9] \ d {2}) \)? ([.-]?)? ) ([2-9] \ d {2}) ([.-]?) (\ D {4}) ([#eExXtT] *) (\ d {2,6})? &
  • Lớp PIN_US sử dụng \ b ([0-9] {3} [-]? [0-9] {2} [-]? [0-9] {4}) \ b
  • Lớp LAST_NAME sử dụng tập hợp C:/IRI/cosort100/sets/names/names_last.set

Nếu không, hãy nhấp vào Khôi phục mặc định .

Ở đầu trang tùy chọn, là mục nhập Ngưỡng phù hợp . Điều này đại diện cho phần trăm kết quả phù hợp cần thiết cho một cột để được chỉ định một lớp dữ liệu. Tìm kiếm giản đồ sẽ quét các khối dữ liệu 4K cho đến khi các kết quả phù hợp đạt đến ngưỡng này. Nếu nó không bao giờ đạt đến ngưỡng này, thì không có lớp dữ liệu nào được chỉ định.

Bởi vì tôi biết mình có các cột chứa họ có thể không được gọi là “LAST_NAME” hoặc thậm chí có thể không có dữ liệu khớp trong tệp tập hợp, tôi có thể sử dụng biểu thức chính quy để đối sánh lớp dữ liệu của mình như tên cột. Ví dụ:có thể có một cột có tên LNAME hoặc LASTNAME.

Để chỉnh sửa lớp dữ liệu LAST_NAME, hãy nhấp vào mục nhập LAST_NAME trong chế độ xem Lớp dữ liệu và nhấp vào Chỉnh sửa . Đổi tên thành L (AST)? [_-]? NAME (gạch dưới và gạch ngang trong ngoặc). Nhấp vào OK . Nhấp vào Áp dụng và Đóng .

Bạn nên xác định trước cách bạn muốn các giá trị trong mỗi lớp dữ liệu được che dấu (tức là định dạng cột mục tiêu của chúng), để bạn có thể xác định các quy tắc đó tiếp theo. Trong ví dụ của chúng tôi, sẽ có các quy tắc xử lý lại, mã hóa bảo toàn định dạng và bút danh. Mỗi quy tắc chỉ cần được xác định một lần, từ menu IRI.

Để xác định các quy tắc này trong ví dụ này, hãy làm theo các bước sau:

Quy tắc 1 - Phản ứng lại (cho Số An sinh Xã hội)

  1. Chọn trình đơn IRI> Quy tắc mới .
  2. Chọn Quy tắc trường và nhấp vào Tiếp theo .
  3. Chọn Chức năng Redaction , sử dụng SSN để bắt đầu Tên quy tắc để nó đọc SSNRedactionRule và nhấp vào Tiếp theo .
  4. Chọn Xác định Mặt nạ nút radio. Nhập 1 vị trí bắt đầu 5 trong Chiều dài . Nhấp vào Thêm vào bảng Kết thúc .

Quy tắc 2 - Mã hóa (cho số tài khoản thẻ tín dụng, địa chỉ email và số điện thoại)

  1. Chọn trình đơn IRI> Quy tắc mới .
  2. Chọn Quy tắc trường và nhấp vào Tiếp theo .
  3. Chọn Chức năng Mã hóa và Giải mã và nhấp vào Tiếp theo . Đừng đổi tên quy tắc.
  4. Chọn enc_fp_aes256_alphanum tùy chọn ở bên trái. Nhập bí mật cho Cụm mật khẩu . Xem trang này về các tùy chọn quản lý khóa mã hóa.
  5. Nhấp vào Hoàn tất .

Quy tắc 3 - Bút danh (cho họ)

  1. Chọn trình đơn IRI> Quy tắc mới .
  2. Chọn Quy tắc trường và nhấp vào Tiếp theo .
  3. Chọn Thay thế bút danh , đổi tên nó là LNamePseudonymRule và nhấp vào Tiếp theo .
  4. Nhấp vào Sử dụng danh sách bút danh của riêng bạn Duyệt qua vào tệp tra cứu, C:/git/workbench-demos/Database_Classification_Masking/sets/lnames.set
  5. Chọn Sử dụng phép rút ngẫu nhiên từ danh sách bút danh . Xin lưu ý rằng cũng có thể sử dụng bút danh có thể khôi phục nhưng phức tạp hơn do có thể xảy ra những thay đổi đối với dữ liệu nguồn của bạn.
  6. Nhấp vào Hoàn tất .

Giờ đây, các quy tắc che lớp dữ liệu của chúng tôi đã được xác định, chúng tôi có thể thực hiện các hoạt động tìm kiếm và tạo mặt nạ để tìm và sửa dữ liệu trên toàn cầu trên một hoặc nhiều lược đồ cơ sở dữ liệu.

Quét - Chạy Trình hướng dẫn Tìm kiếm Lớp Dữ liệu Lược đồ

Để tìm tất cả dữ liệu phù hợp với định nghĩa lớp của chúng tôi trong tất cả các bảng của một lược đồ, hãy sử dụng Trình hướng dẫn Tìm kiếm Lớp Dữ liệu Lược đồ. Điều này tạo ra một báo cáo của từng bảng và cột với PII được phân loại trước bên trong, tạo tệp lớp dữ liệu cụ thể cho dự án của bạn và mở trình chỉnh sửa biểu mẫu cho tệp đó. Trong hộp thoại chỉnh sửa đó (bước tiếp theo của chúng tôi sau bước này), bạn có thể xem lại và sửa đổi định nghĩa quy tắc tạo mặt nạ và lớp dữ liệu của mình trước khi chuyển sang tạo mặt nạ dữ liệu toàn cục ở bước cuối cùng.

Bạn có thể chạy trình hướng dẫn từ nhóm menu Khám phá Dữ liệu trong thanh công cụ IRI Workbench. Thay vào đó, bạn cũng có thể chạy trình hướng dẫn tìm kiếm trực tiếp từ Trình khám phá nguồn dữ liệu, để điền trước trình hướng dẫn bằng một lược đồ đã chọn. Nhấp chuột phải vào lược đồ SCOTT trong Trình khám phá nguồn dữ liệu (DSE) và chọn IRI> Tìm kiếm lớp dữ liệu lược đồ .

Trên trang thiết lập trình hướng dẫn tìm kiếm, hãy nhập vị trí để lưu tệp lớp dữ liệu. Chỉ có thể có một loại tệp này trong mỗi dự án, do đó trạng thái chỉ đọc của trường tên. Để nguyên giá trị mặc định. Nhấp vào Tiếp theo .

Trang đầu vào hiển thị rằng một lược đồ đã được chọn. Nhấp vào Tiếp theo . Trang tiếp theo cho phép bạn giới hạn các cột được tìm kiếm theo kiểu dữ liệu. Bao gồm NUMERIC và nhấp vào Tiếp theo .

Trang Loại trừ Mục cho phép bạn loại trừ các bảng hoặc cột trong quá trình quét. Nhấp vào Tiếp theo .

Trang lớp dữ liệu cho phép bạn lọc các lớp dữ liệu sẽ được sử dụng trong quá trình quét. Chỉ chọn CREDIT_CARD , EMAIL , L (AST)? [_-]? NAME, PHONE_US PIN_US . Nhấp vào Kết thúc .

Cùng với các báo cáo, điều này tạo (hoặc nối) một thư viện lớp dữ liệu với các ánh xạ giữa các cột nguồn và các lớp dữ liệu. Trình chỉnh sửa biểu mẫu mở ra cho phép bạn chỉ định các quy tắc cho kết quả.

Tìm kiếm qua 46 bảng này cho kết quả 18 cột phù hợp, tôi biết là gần hết, nhưng không hoàn toàn đầy đủ:

Tôi biết rằng một vài cột không được khớp do các bảng trống hoặc tên không tìm thấy kết quả phù hợp trong các tệp đã đặt. Trong bước tiếp theo, tôi có thể giải quyết những thiếu sót đó và xác nhận các quy tắc tạo mặt nạ của mình trên cơ sở mỗi bảng.

Xem lại &Điều chỉnh - Trình chỉnh sửa Thư viện Lớp Dữ liệu

Bây giờ kết quả tìm kiếm đang mở trong cửa sổ chỉnh sửa biểu mẫu của thư viện lớp dữ liệu, bạn có thể kiểm tra và sửa đổi các quy tắc cột ở cấp bảng và loại bỏ các bảng trống trong lược đồ với tên cột khớp với tên lớp dữ liệu của bạn. Tất cả những điều này giúp xác nhận rằng bạn đã được thiết lập chính xác để thực hiện công việc tạo mặt nạ hàng loạt.

Lưu ý rằng dạng xem này cũng hỗ trợ kết quả tìm kiếm tệp phẳng (lớp dữ liệu thư mục) cùng với kết quả tìm kiếm cơ sở dữ liệu của bạn. Bằng cách kết hợp các kết quả đó vào thư viện lớp dữ liệu của bạn, việc giữ cho các hàm (quy tắc) tạo mặt nạ của bạn giống nhau trên các nguồn dữ liệu khác nhau sẽ dễ dàng hơn. Điều đó giúp duy trì tính toàn vẹn của tham chiếu và tính nhất quán của dữ liệu thử nghiệm trong các môi trường ứng dụng phân tán hơn.

Nhấp vào nguồn dữ liệu (bảng) để hiển thị thông tin chi tiết về nguồn đó và bản xem trước của dữ liệu trong đó. Nếu đối sánh với một lớp dữ liệu được thực hiện, cột đó sẽ hiển thị lớp đó và cách nó được đối sánh.

Trong trường hợp bảng PERSONS của tôi bên dưới, bạn có thể thấy rằng:tất cả các giá trị cột SSN khớp với mẫu RegEx của lớp dữ liệu PIN_US của tôi và các cột LASTNAME và CREDIT_CARD khớp với tên lớp dữ liệu của chúng, loại trừ nhu cầu quét cột đó.

Các chỉnh sửa đối với ánh xạ lớp dữ liệu có thể được thực hiện bằng cách thay đổi lớp dữ liệu thông qua trình đơn thả xuống hoặc bỏ chọn cột để xóa hoàn toàn ánh xạ. Nếu một bảng trống, nó có thể không gán tất cả các ánh xạ mong muốn. Có ba cách để xử lý điều này:

  1. Bạn có thể thêm các bảng vào trang loại trừ trong trình hướng dẫn phân loại ở trên để nó không bị thêm vào thư viện lớp dữ liệu
  2. Nếu bảng có thể có dữ liệu trong tương lai, hãy gán các lớp dữ liệu theo cách thủ công tại đây. Vậy thì
    • Bỏ chọn chúng trong trình hướng dẫn tạo mặt nạ
    • Để chúng lại và trình hướng dẫn tạo mặt nạ sẽ tạo các tập lệnh công việc chạy nhưng không che
  3. hoặc xóa nguồn dữ liệu khỏi thư viện lớp dữ liệu

Trong ví dụ này, hãy chọn các nguồn dữ liệu sau và nhấp vào Xóa vì chúng trống hoặc không cần che:

SCOTT.DEMO_ROWGEN
SCOTT.DM_EMPLOYEES
SCOTT.PATIENT_RECORD_ENCRYPTED

Cần phải cẩn thận để xác minh kết quả trong thư viện lớp dữ liệu trước khi che. Đôi khi các kết quả trùng khớp bị bỏ lỡ do dữ liệu không hợp lệ hoặc trình đối sánh lớp dữ liệu cần được sửa đổi. Cũng có thể xảy ra hiện tượng dương tính giả. Trong ví dụ này, một lớp dữ liệu cần được gán theo cách thủ công vì có các định dạng địa chỉ email và số điện thoại của Hoa Kỳ không hợp lệ, nhưng chúng tôi vẫn muốn ẩn các cột đó. Chúng tôi có thể chọn và phân loại cột này thành:

SCOTT.EMPLOYEES.PHONE_NUMBER> PHONE_US

Sau khi kết quả được xem xét và sửa đổi khi cần, hãy nhấp vào các lớp dữ liệu trong thư viện ở bên trái để gán các quy tắc mặc định. Điều này sẽ cho phép bạn gán các quy tắc cho tất cả các nguồn bằng cách chỉ định một quy tắc mặc định cho một lớp.

Trong ví dụ này, tôi đã gán các quy tắc tạo mặt nạ của mình cho các lớp dữ liệu trong thư viện như sau:

CREDIT_CARD> FieldEncryptionRule
EMAIL> FieldEncryptionRule
L (AST)? [_-]? NAME> LNamePseudonymRule
PHONE_US> FieldEncryptionRule
PIN_US> SSNRedactionRule

Bạn có thể xác minh rằng các phép gán quy tắc chung của mình được truyền tải đầy đủ và chính xác trong các nguồn dữ liệu bằng cách xem lại các quy tắc tạo mặt nạ trong mỗi nguồn. Ví dụ:trong bảng SCOTT.PERSONS lần đầu tiên được hiển thị ở trên với các quy tắc, bây giờ chúng ta có:

Nếu một cột trong một bảng cụ thể thiếu quy tắc hoặc cần một quy tắc khác, quy tắc đó có thể được thêm vào hoặc sửa đổi sau khi các quy tắc mặc định được áp dụng bằng cách giải quyết chúng trong từng nguồn dữ liệu.

Mặt nạ - Chạy trình hướng dẫn tạo mặt nạ cơ sở dữ liệu lớp dữ liệu

Khi bạn đã xác minh rằng các quy tắc tạo mặt nạ phù hợp được gán cho các lớp dữ liệu của mình, bạn đã sẵn sàng áp dụng chúng trên toàn cầu.

Nhấp chuột phải vào iriLibrary.dataclass đối tượng trong thư mục dự án của bạn trong cây IRI Workbench Project Explorer và chọn IRI> Công việc tạo mặt nạ cơ sở dữ liệu lớp dữ liệu mới . Trong trang đầu tiên của trình hướng dẫn, hãy xác minh rằng thư mục dự án là nơi lưu lớp dữ liệu và thư viện quy tắc của bạn và đặt tên cho công việc. Chọn Hiển thị trang tóm tắt để xem chi tiết công việc.

Trình hướng dẫn cho phép bạn cập nhật kết quả được che giấu trong Tương tự bảng nguồn (để che dấu tĩnh), thành Khác nhau bảng mục tiêu hoặc đến Tệp phẳng (được khuyến nghị) để trước tiên bạn có thể xác nhận kết quả và tải chúng vào mục tiêu. Thay đổi Đầu ra sang Tệp phẳng và nhấp vào Tiếp theo .

Trên trang Bộ lọc Lớp Dữ liệu, hãy để tất cả các lớp dữ liệu được chọn. Nhấp vào Tiếp theo . Trên trang Nguồn dữ liệu, hãy chọn tất cả các mục. Nếu có các bảng mà bạn không muốn thực hiện công việc, bạn sẽ bỏ chọn chúng ở đây.

Vì tôi đã chọn hiển thị màn hình tóm tắt nên tôi có thể xác minh công việc:

trước khi nhấp vào Hoàn tất .

Sau đó, các tập lệnh được tạo và một sơ đồ luồng được mở để minh họa toàn bộ công việc, sơ đồ này cũng được tuần tự hóa dưới dạng tệp loạt Windows (hoặc Unix). Mỗi bảng sẽ có một cột được che dấu được biểu thị bằng một khối ánh xạ biến đổi màu nâu, khối này được tuần tự hóa trong một tập lệnh tác vụ.

Xem lại các thao tác tạo mặt nạ bằng cách nhấp đúp vào khối ánh xạ biến đổi và kiểm tra các đường màu cam tới các mục tiêu. Những cột này biểu thị các cột được thay đổi từ đầu vào.

Nhấp vào các trường bên phải đường màu cam và xem chế độ xem thuộc tính ở cuối màn hình. Câu lệnh Trường nâng cao hiển thị chuyển đổi (chức năng tạo mặt nạ) được áp dụng.

Khi bạn cảm thấy thoải mái với công việc tạo mặt nạ đã được xây dựng, hãy chạy nó. Trong new_classProtection , nhấp chuột phải vào new_classProtection.bat và chọn Chạy dưới dạng> Chương trình hàng loạt .

Công việc chạy trên dòng lệnh và các tệp đầu ra bị che có thể được mở để xem xét từ thư mục dự án hoặc hệ thống tệp của bạn. Thật vậy, sau khi hoạt động hàng loạt chạy, tất cả các tập lệnh tác vụ che và đầu ra tệp phẳng được hiển thị trong thư mục công việc mới của tôi.

Ảnh chụp màn hình bên dưới hiển thị các trạng thái đó ở bên trái, trạng thái trước và sau của một trong các bảng của tôi, PERSONS, ở trung tâm và các câu lệnh nhiệm vụ cụ thể ở dạng kịch bản và phác thảo ở bên phải. Xem cách ba cột được phân loại và chỉ định quy tắc trong bảng này được che như kế hoạch:

Khi công việc tạo mặt nạ hàng loạt chạy, bạn có thể kiểm tra lại kết quả trước khi thực hiện:

  1. tải chúng vào các bảng trong IRI Workbench (có thể tự động tạo tệp trình tải);
  2. sửa đổi công việc để thực hiện các thay đổi; và / hoặc,
  3. chạy lại trình hướng dẫn để chuyển đầu ra tới các bảng.

Các công việc tạo mặt nạ này chạy trên dòng lệnh và có thể được kích hoạt hoặc lên lịch để làm mới dữ liệu và lưu trữ tự động. Liên hệ nếu bạn có bất kỳ câu hỏi nào hoặc cần trợ giúp về bất kỳ khía cạnh nào của quy trình cấu hình end-to-end này hoặc việc triển khai nó.

  1. Để loại trừ khả năng kết quả tìm kiếm dương tính giả trên thẻ tín dụng và số ID quốc gia, bạn có thể tự động thực hiện kiểm tra tính hợp lệ trong quá trình tìm kiếm thông qua các giá trị khớp mẫu. Chọn hoặc tạo tập lệnh xác thực lớp dữ liệu để kết hợp với định nghĩa lớp dữ liệu.
  2. Nếu sử dụng FieldShield trong Voracity, bạn có thể sắp xếp đồng thời hoặc sau đó các tệp đó trên khóa chỉ mục chính của bảng đích để tăng tốc độ tải hàng loạt và các truy vấn phổ biế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. Ký hiệu Chen

  2. Bất ngờ về hiệu suất và giả định:GROUP BY so với DISTINCT

  3. Số lượng SQL

  4. Một số cách để chèn các chuỗi phân tách được phân tách trong một cột

  5. Kết nối RazorSQL với Salesforce.com