MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tạo mặt nạ PII trong MongoDB, Cassandra và Elasticsearch với DarkShield:…

Bài viết này trình bày việc sử dụng IRI DarkShield để xác định và hiển thị (che dấu) thông tin nhận dạng cá nhân (PII) và dữ liệu nhạy cảm khác trong cơ sở dữ liệu MongoDB, Cassandra và Elasticsearch. Mặc dù các bước này chủ yếu tập trung vào việc tìm kiếm và che chắn dữ liệu trong bộ sưu tập MongoDB, các bước tương tự cũng có thể được sử dụng cho dữ liệu trong bảng Cassandra. Xem cả bài viết này trên Elasticsearch.

Lưu ý rằng bài viết này đại diện cho phương pháp fouth mà IRI hỗ trợ để tạo mặt nạ dữ liệu trong MongoDB và phương pháp thứ hai cho Cassandra. Các phương pháp trước đó và vẫn được hỗ trợ dựa trên việc phát hiện và khử nhận dạng dữ liệu có cấu trúc thông qua IRI FieldShield, trong khi phương pháp DarkShield hỗ trợ dữ liệu văn bản trong các bộ sưu tập có cấu trúc hoặc không có cấu trúc. Mặc dù DarkShield và FieldShield là các sản phẩm che dữ liệu IRI độc lập, cả hai đều được đưa vào nền tảng quản lý dữ liệu IRI Voracity.

Phương pháp mới nhất sử dụng một số yếu tố của Phân loại dữ liệu , một mô hình lập danh mục dữ liệu tích hợp để xác định các phương pháp tìm kiếm được sử dụng để tìm PII độc lập với nguồn dữ liệu. Mặc dù bài viết này cung cấp một giới thiệu nhỏ về Phân loại dữ liệu trong Bước 1, bạn có thể thấy hữu ích khi đọc về cách Phân loại dữ liệu phù hợp với cách tiếp cận thống nhất của chúng tôi để thực hiện tìm kiếm. Để biết thêm thông tin về Phân loại dữ liệu trong giao diện người dùng IRI Workbench cho DarkShield và cộng sự, vui lòng đọc bài viết này trước khi tiếp tục.

Việc xác định và khắc phục PII bằng IRI DarkShield bao gồm 4 bước chung:

(Tùy chọn) Bước - Đăng ký (các) Nguồn Dữ liệu của Bạn

Trong bước (tùy chọn) này, các nguồn dữ liệu cho cơ sở dữ liệu Mongo, không gian phím Cassandra hoặc cụm Elasticsearch được đăng ký. Điều này cho phép các nguồn dữ liệu có thể được sử dụng lại. Do đó, bước này là tùy chọn nếu nguồn dữ liệu mong muốn đã tồn tại trong sổ đăng ký hoặc nếu bạn định xác định chúng từ trình hướng dẫn.

Bước 1 - Chỉ định Tham số Tìm kiếm

Ở đây tất cả các khía cạnh của một tìm kiếm được chọn. Đầu tiên, bộ sưu tập / bảng nguồn và đích được thiết lập dựa trên kết nối dữ liệu được chỉ định trong sổ đăng ký hoặc được tạo trong trình hướng dẫn. Sau đó, bạn có thể chỉ định tiêu chí tìm kiếm và khắc phục cho dữ liệu của mình bằng cách sử dụng Công cụ đối sánh tìm kiếm các loại thông tin cần tìm và cách khắc phục thông tin đó. Kết quả của bước này là một. tìm kiếm tệp.

Bước 2 - Tiến hành Tìm kiếm

Tìm kiếm có thể được chạy từ .search tập tin. Kết quả là một .darkdata tệp chú thích bất kỳ PII đã xác định nào.

Bước 3 - Khắc phục (Mặt nạ)

Biện pháp khắc phục có thể được thực hiện từ một .darkdata tập tin. Mọi PII đã xác định sẽ được xử lý theo cách được chỉ định trong quá trình tạo tìm kiếm.

Bước

(Tùy chọn) - Đăng ký nguồn dữ liệu của bạn

Là bước tiên quyết, bạn sẽ cần đăng ký kết nối đến các nguồn dữ liệu trực tuyến (và mục tiêu) của mình trong Sổ đăng ký kết nối URL, nằm trong Tùy chọn> IRI> Đăng ký kết nối URL trong IRI Workbench.

Tất cả các Kết nối URL, bao gồm cả các chuỗi kết nối URI cho MongoDB, Cassandra và Elasticsearch đều có thể được lưu. Điều này cho phép các URL, thông tin xác thực và bất kỳ thông số bổ sung nào được IRI Workbench lưu và lưu trữ để sử dụng trong tương lai.

Bước 1 - Chỉ định Tham số Tìm kiếm (Tạo Tệp .Search)

Trong IDE bàn làm việc IRI cho DarkShield, Chọn Công việc Khám phá Cơ sở dữ liệu Mới từ Menu DarkShield. Chọn một thư mục dự án và nhập tên cho công việc:

Chỉ định Nguồn và Mục tiêu

Bất kỳ Mongo, Cassandra hoặc ElasticsearchURL nào đã được tạo và lưu trước đó trong sổ đăng ký đều có thể được truy cập từ URI thả xuống cho cả bộ chọn Nguồn và Mục tiêu. Tên của bộ sưu tập MongoDB, bảng Cassandra hoặc chỉ mục Elasticsearch tương ứng cũng sẽ phải được nhập:

Một URI mới cũng có thể được tạo bằng cách nhấn Mới cái nút. Thao tác này sẽ mở hộp thoại Chi tiết kết nối URL. Nhập tên cho kết nối, chọn lược đồ mong muốn, nhập máy chủ lưu trữ và nhập cơ sở dữ liệu. Nếu không có cổng nào thì cổng mặc định cho lược đồ sẽ được giả định.

Tên người dùng và mật khẩu cũng có thể được cung cấp nếu cơ sở dữ liệu yêu cầu ủy quyền. Mọi kết nối URL mới sẽ được lưu trong Sổ đăng ký kết nối URL và có thể được sử dụng lại làm mục tiêu.

Sau khi nguồn được chỉ định, bạn có thể tiếp tục sang trang tiếp theo để chọn hoặc tạo URI mục tiêu. Lược đồ của URI đích sẽ bị giới hạn ở URI nguồn đã chọn, do đó, một nguồn MongoDB chỉ có thể được gửi đến một mục tiêu MongoDB khác và tương tự đối với Cassandra hoặc Elasticsearch.

Khi công việc tạo mặt nạ được chạy, tất cả các hàng trong nguồn sẽ được thêm vào mục tiêu và bất kỳ hàng nào có khóa phù hợp sẽ bị ghi đè. Đối với Cassandra, hãy đảm bảo rằng lược đồ bảng đích tương thích với dữ liệu từ bảng nguồn.

Thêm công cụ tìm kiếm đối sánh

Sau khi cả nguồn và đích đều được chỉ định, bạn có thể chuyển đến trang tiếp theo để thêm các đối sánh tìm kiếm. Chọn một vị trí thư viện có chứa bất kỳ thư viện Mẫu hoặc Quy tắc nào mà bạn muốn sử dụng và nhấp vào Thêm để thêm Trình so khớp tìm kiếm mới.

KeyNameMatcher

Công cụ Tìm kiếm Đối sánh đầu tiên mà chúng tôi sẽ tạo sẽ được sử dụng để đối sánh toàn bộ giá trị tương ứng với bất kỳ khóa “tên” nào nằm trong các cấu trúc json lồng nhau tùy ý và áp dụng thuật toán Mã hóa Bảo tồn Định dạng để che dấu nó. Chúng ta có thể đạt được điều này bằng cách tạo bộ lọc đường dẫn JSON “$ .. name”. Bạn có thể tìm thêm thông tin về đường dẫn JSON tại đây.

Vì bộ sưu tập MongoDB, bảng Cassandra và chỉ mục Elasticsearch được phân tích cú pháp bởi DarkShield dưới dạng tài liệu json, bộ lọc có thể được áp dụng cho cả hai để che dấu bất kỳ giá trị nào tương ứng với bất kỳ khóa “tên” nào.

Để khớp với nội dung của dữ liệu đã lọc, chúng tôi cần tạo một Lớp dữ liệu mới . Lớp dữ liệu đại diện cho PII và các đối sánh liên quan được sử dụng để xác định nó. Những đối sánh này có thể bao gồm bất kỳ sự kết hợp nào của:

  • Mẫu Biểu thức Thông thường
  • Đặt tra cứu từ điển tệp
  • Mô hình nhận dạng đối tượng được đặt tên
  • Bound Box Matchers (chỉ hình ảnh)
  • Nhận dạng khuôn mặt (chỉ hình ảnh)

Bạn có thể xác định Lớp dữ liệu trong trình hướng dẫn hoặc bằng cách mở Nhóm và Lớp dữ liệu trong Tùy chọn IRI . Các Lớp dữ liệu được xác định trong tùy chọn có thể được sử dụng trong cả FieldShield và DarkShield cho các nguồn dữ liệu khác, bao gồm cả dữ liệu có cấu trúc và không có cấu trúc.

Chúng tôi có thể tạo một EVERYTHING được liên kết Lớp dữ liệu cho bộ so khớp này sẽ khớp trên toàn bộ nội dung của giá trị, vì chúng tôi chắc chắn một cách hợp lý rằng tất cả những gì chúng tôi sẽ tìm thấy trong các giá trị là tên. Bạn có thể sử dụng tra cứu tập hợp chứa từ điển tên nếu bạn không chắc chắn về nội dung của khóa “tên” của mình hoặc nếu bạn chỉ muốn che dấu một tập hợp con tên.

Đối với Tên quy tắc của KeyNameMatcher, chúng tôi có thể chọn Quy tắc dữ liệu hiện có từ vị trí thư viện mà chúng tôi đã chọn hoặc tạo quy tắc mới sử dụng Mã hóa lưu trữ định dạng (FPE), ví dụ:

Để tạo quy tắc FPE, hãy nhấp vào Tạo bên cạnh Tên quy tắc , chọn Chức năng mã hóa hoặc giải mã từ Trình hướng dẫn Quy tắc Dữ liệu xuất hiện:

Chỉ định một cụm mật khẩu thích hợp để dùng làm khóa mã hóa / giải mã của bạn, có thể là một chuỗi rõ ràng, biến môi trường hoặc tên của tệp bảo mật có chứa chuỗi đó.

EmailsMatcher

Sau khi kết thúc hộp thoại trước và tạo KeyNameMatcher mới, chúng tôi có thể thêm Search Matcher khác cho địa chỉ email. Chỉ cần nhấp vào Thêm để tạo một Trình so khớp tìm kiếm khác để thêm vào danh sách.

IRI Workbench được tải trước với một EMAIL Lớp dữ liệu có thể được chọn bằng cách nhấp vào Duyệt qua bên cạnh Tên lớp dữ liệu trường và chọn EMAIL từ trình đơn thả xuống.

Đối với Quy tắc dữ liệu, bạn có thể chọn quy tắc FPE mà bạn đã tạo cho Trình đối sánh tìm kiếm trước đó bằng cách nhấp vào Duyệt qua bên cạnh Tên quy tắc hoặc tạo một trường mới với một trong nhiều chức năng tạo mặt nạ có sẵn. Tôi đã tạo một chức năng Data Redaction đơn giản để thay thế toàn bộ email bằng dấu hoa thị.

Công cụ tìm kiếm đối sánh của bạn hiện có thể được thêm vào danh sách bằng cách nhấp vào OK.

NamesMatcher

Trình khớp tìm kiếm cuối cùng của chúng tôi sẽ được sử dụng để tìm tên trong văn bản tự do. Đối với điều này, chúng tôi sẽ sử dụng Nhận dạng đối tượng được đặt tên (NER) để tìm tên bằng cách sử dụng ngữ cảnh của câu. Để bắt đầu, chúng tôi cần nhấp vào Thêm để tạo Trình so khớp tìm kiếm mới và tạo Lớp dữ liệu mới có tên NAMES_NER:

Để tạo một NAMES_NER Lớp Dữ liệu, trước tiên chúng ta cần tải xuống mô hình Tìm kiếm Tên Người, en-ner-person.bin , từ kho lưu trữ mã nguồn OpenNLP. Sau đó, nhấp vào Thêm để thêm một trình so khớp mới, hãy chọn Mô hình NER từ trình đơn thả xuống. Nhấp vào Duyệt qua và điều hướng đến vị trí của mô hình đã tải xuống; ví dụ:

Sau khi bạn đã tạo Lớp dữ liệu mới, hãy nhấp vào OK và chọn Quy tắc dữ liệu FPE mà bạn đã xác định trước đó để hoàn tất việc tạo Trình đối sánh tìm kiếm:

Lưu ý rằng NamesMatcher của chúng tôi và KeyNameMatcher có thể có các kết quả trùng khớp. Nếu điều này xảy ra, DarkShield sẽ chọn trận đấu dài nhất có sẵn và loại bỏ bất kỳ kết quả trùng lắp nào khác. Bằng cách đó, bạn không phải lo lắng về việc DarkShield áp dụng chức năng tạo mặt nạ trên các giá trị đã được che.

Khi bạn đã thêm tất cả các đối sánh mong muốn, hãy nhấp vào kết thúc để tạo . Tìm kiếm tệp.

.search được tạo tệp có thể được kiểm tra để hiển thị các chi tiết về một tìm kiếm. Điều này bao gồm các URI nguồn và đích cũng như thông tin về tất cả các trình đối sánh.

Bước 2 - Tiến hành Tìm kiếm (Tạo một .Darkdata Tệp)

Hoàn thành Công việc khám phá dữ liệu tối trình hướng dẫn tạo mới. tìm kiếm tập tin cấu hình. Tệp đó chứa các tùy chọn mà chúng tôi đã chọn, bao gồm nguồn và đích của dữ liệu của chúng tôi và các Đối sánh tìm kiếm sẽ được sử dụng để gắn thẻ PII để khám phá, phân phối, xóa và / hoặc khử nhận dạng.

Để bắt đầu tìm kiếm, hãy nhấp chuột phải vào .search , chọn Run As, và chọn IRI Search Job hoặc Tìm kiếm và khắc phục sự cố IRI .

Tìm kiếm sẽ chỉ tiến hành tìm kiếm, trong khi Tìm kiếm và khắc phục sự cố cũng sẽ cố gắng che giấu (hoặc xóa) bất kỳ dữ liệu đã xác định nào. Cả hai sẽ tạo ra một .darkdata tệp xác định bất kỳ dữ liệu nào quan tâm.

Nguồn mà tôi đã sử dụng được điền với các giá trị được tạo ngẫu nhiên, vì vậy không có hại gì khi chia sẻ .darkdata đã tạo nộp hồ sơ tại đây. Tuy nhiên, khi xử lý thông tin nhạy cảm thực sự, người dùng nên đảm bảo với .darkdata tệp không bị lộ và được lưu trữ hoặc xóa một cách an toàn sau khi hoàn thành việc khắc phục để ngăn rò rỉ PII. IRI sẽ thêm tùy chọn cách ly để lưu trữ .darkdata tập tin và các hiện vật tìm kiếm tương ứng ở một vị trí an toàn; liên hệ với [email protected] để biết chi tiết về tính năng được lên kế hoạch này.

Bước 3 - Khắc phục (Đắp mặt nạ)

Một lần nữa, việc che hoặc xóa dữ liệu có thể được thực hiện trong các hoạt động Tìm kiếm thông qua Tìm kiếm và khắc phục sự cố trong trình hướng dẫn Khám phá Dữ liệu Tối. Tuy nhiên, nếu bạn chỉ muốn kiểm tra thông tin đã xác định và chỉnh sửa nó sau, hãy chạy các công việc tạo mặt nạ từ .darkdata tệp được tạo trong Tìm kiếm (Bước 2) theo cách này:

Nhấp chuột phải vào .darkdata tệp, di chuột qua Run As và nhấp vào IRI Remediate Job . Khi công việc chạy, dữ liệu đã được khắc phục sẽ xuất hiện trong cơ sở dữ liệu đích.

Dưới đây là một ví dụ hiển thị trước và sau của một bộ sưu tập cơ sở dữ liệu MongoDB nhỏ bằng cách sử dụng dấu nhắc lệnh Workbench để truy cập máy chủ Mongo cục bộ:

KẾT LUẬN

Trong bài viết này, chúng tôi đã trình bày khả năng IRI mới để truy cập dữ liệu không có cấu trúc trong cơ sở dữ liệu Mongo, không gian khóa Cassandra và Cụm Elasticsearch bằng cách sử dụng một số Search Matcher trong IRI DarkShield. Bạn có thể kiểm tra .darkdata đã tạo mô hình để xem các kết quả tìm kiếm đã được tìm thấy và khắc phục, đồng thời kiểm tra cơ sở dữ liệu của bạn để xem các bảng / bộ sưu tập được cập nhật.

  1. Nếu PII được nhúng vào các đối tượng nhị phân trong bộ sưu tập MongoDB, Cassandra, Elasticsearch của bạn, chúng tôi có thể giúp tự động hóa việc trích xuất chúng thành các tệp độc lập cho các hoạt động tìm kiếm / mặt nạ DarkShield và tái phân loại của chúng.
  2. IRI Workbench IDE, được xây dựng trên Eclipse ™, kết thúc tất cả các FieldShield, DarkShield và che dữ liệu liên quan - và khả năng xử lý dữ liệu rộng hơn - trong nền tảng IRI Voracity.
  3. Đăng ký kết nối URL được sử dụng để định cấu hình và lưu các nguồn dữ liệu dựa trên URL được sử dụng trong các hoạt động ETL tìm kiếm / mặt nạ DarkShield và CoSort / SortCL (Voracity); ví dụ:HDFS, Kafka, nhóm S3, MongoDB, S / FTP. Sổ đăng ký này tương tự, nhưng không giống với sổ đăng ký Kết nối dữ liệu trong IRI Workbench cho các nguồn cơ sở dữ liệu quan hệ trong đó ODBC DSN được bắc cầu với cấu hình kết nối JDBC tương ứng vì lợi ích của trình hướng dẫn công việc tận dụng cả hai kết nối.
  4. Công cụ tìm kiếm đối sánh là sự liên kết giữa một Lớp dữ liệu , được sử dụng để xác định phương pháp tìm kiếm để tìm và phân loại PII và một Quy tắc dữ liệu sẽ được áp dụng cho bất kỳ phiên bản nào của Lớp dữ liệu được tìm thấy trong bộ sưu tập hoặc bảng. Ngoài ra, Search Matchers cho phép bạn xác định các bộ lọc có thể được sử dụng để giảm phạm vi tìm kiếm. Điều này đặc biệt hữu ích trong bộ sưu tập Mongo, bảng Cassandra và chỉ mục Elasticsearch vì tên khóa có thể biểu thị PII được lưu trữ trong giá trị tương ứng.

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB-as-a-Service ở Canada

  2. Mongoose xóa (kéo) tài liệu trong một mảng, không hoạt động với ObjectID

  3. Toán tử tổng hợp MongoDB $ sortByCount

  4. Làm cách nào để thực hiện phép nối SQL tương đương trong MongoDB?

  5. tìm kiếm văn bản mongodb sử dụng nhiều ngôn ngữ