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

Cách tạo mặt nạ cho Cassandra với IRI FieldShield

CẬP NHẬT:Q2’17 :Trình điều khiển JDBC và ODBC được bao gồm và việc xử lý JSON gốc đang chờ xử lý có thể giúp kết nối nhanh hơn và liền mạch hơn so với cách tiếp cận được hiển thị bên dưới. Y ou cũng có thể sử dụng phiên bản Hadoop của IRI Voracity để che dữ liệu trong HDFS trực tiếp. Dữ liệu được xuất theo cách bên dưới sang tệp phẳng trong HDFS có thể được che ở cấp trường từ mô-đun FieldShield Voracity theo cách tương tự được hiển thị bên dưới thông qua MapReduce2, Spark, Spark Stream, Storm hoặc Tez mà không cần mã hóa bổ sung.

CẬP NHẬT:Q3’19 :Hiện có sẵn trong IRI DarkShield là các trình kết nối ngoại vi dành cho Cassandra và MongoDB không yêu cầu các bước xuất / che / nhập và có thể xử lý dữ liệu thu thập bán và không có cấu trúc. Giống như FieldShield, DarkShield cũng có sẵn (bao gồm) trong các đăng ký đối với nền tảng Voracity. Xem bài viết hướng dẫn này để tìm và che giấu PII trôi nổi trong Cassandra NoSQL DBs. Nếu bạn quan tâm đến việc đưa Cassandra vào dữ liệu thử nghiệm tổng hợp, hãy xem bài viết này.

DataStax / Cassandra không thể che dấu các cột cụ thể để ngăn người dùng trái phép xem thông tin nhận dạng cá nhân (PII). Trong bài viết này, chúng tôi sẽ hướng dẫn cách xuất dữ liệu từ cơ sở dữ liệu Cassandra sang tệp CSV và sử dụng sản phẩm IRI FieldShield (cũng có sẵn trong nền tảng IRI Voracity) để ngẫu nhiên hóa, che dấu và mã hóa dữ liệu trong tệp CSV đó. Sau đó, chúng tôi sẽ nhập dữ liệu đó trở lại Cassandra, được cập nhật và bảo vệ. Một bài báo khác được lên kế hoạch khi phát hành kết nối trực tiếp hơn của IRI với DB.

Trong ví dụ của chúng tôi, chúng tôi có một bảng với thông tin sinh viên trong DataStax. Các cột là:id_num (khóa chính), danh dự, học kỳ_hours, socsecnum (số an sinh xã hội) và user_id.

Để xóa danh tính từng sinh viên, chúng tôi sẽ ngẫu nhiên hóa học kỳ của họ, che giấu socsecnum của họ và mã hóa giá trị user_id để PII của mỗi sinh viên được bảo vệ.

Dữ liệu không được bảo vệ trong Cassandra

Đối với các ví dụ về dòng lệnh của chúng tôi, chúng tôi đang sử dụng trình bao DataStax Cassandra CQL.

Xuất bảng Cassandra sang tệp CSV

Để xuất bảng Cassandra sang tệp CSV, hãy chạy lệnh sau từ trình bao Cassandra CQL:

COPY <Exporting Table> TO '<File Path to the CSV you exporting to>' WITH HEADER=TRUE;

Mở và xác định nguồn CSV

  1. Từ thanh công cụ trên cùng của IRI Workbench GUI cho FieldShield (được xây dựng trên Eclipse), tìm biểu tượng FieldShield và chọn ‘New Protect Job’ để chạy trình hướng dẫn. Đặt tên cho hồ sơ công việc của bạn là “CassShieldJob.fcl” và nhấp vào ‘Tiếp theo’.
  2. Nhấp vào 'Thêm nguồn dữ liệu', sau đó nhấp vào 'Duyệt qua' tệp CSV mà bạn đã tạo bằng quá trình xuất của mình. Sau đó, nhấp vào 'OK'.
  3. Nhấp vào "Khám phá siêu dữ liệu" và đặt tên cho (tệp định nghĩa dữ liệu có thể sử dụng lại) là "StudentsMeta.ddf" và nhấp vào "Tiếp theo". Nhấp vào "Có" để tự động phát hiện và "Lấy tên trường từ hàng tiêu đề" trước khi nhấp vào "OK", sau đó nhấp vào "Hoàn tất".
  4. Bây giờ, bạn sẽ thấy các trường của mình trong danh sách Nguồn Dữ liệu. Nhấp vào "Tiếp theo".

Áp dụng các biện pháp bảo vệ

  1. Nhấp vào 'Thêm Mục tiêu Dữ liệu' và duyệt để tạo mục tiêu tệp CSV mới để giữ phiên bản được bảo vệ của dữ liệu (hoặc để ghi đè nguồn, hãy sử dụng cùng một đường dẫn / tệp. Sau đó nhấp vào 'Trường Mục tiêu Layout ', để xem lại bố cục và áp dụng các biện pháp bảo vệ cho các trường đầu ra. Có hai hộp danh sách; phần trên hiển thị các trường nguồn và phần dưới hiển thị các trường đích mà bạn sẽ áp dụng trường "shields".
  2. Ngẫu nhiên hóa học kỳ_hours:Chọn tên trường học kỳ_hours trong ngăn mục tiêu và nhấp vào "Bảo vệ trường học". Chọn Tạo giá trị ngẫu nhiên, và chọn loại, chọn Chữ số. Đặt kích thước tối thiểu và tối đa ngẫu nhiên thành 2 và nhấp vào OK.
  3. Mặt nạ socsecnum:Chọn trường socsecnum và nhấp lại vào ‘Bảo vệ trường’. Chọn Tạo mặt nạ và chọn tùy chọn SSN Hoa Kỳ mặc định để chỉ hiển thị bốn chữ số cuối của SSN. Nhấp vào "OK".
  4. Mã hóa user_id:Chọn user_id và nhấp lại vào "Field Protection". Chọn Mã hóa và Giải mã và chọn enc_fp_aes256_alphanum để mã hóa bảo toàn định dạng. Nhập cụm mật khẩu (khóa giải mã) và trong hộp Loại trừ, nhập “User_” để ngăn phần User_ của tên người dùng của chúng tôi bị mã hóa, Sau đó nhấp vào ‘Hoàn tất’.
  5. Các trường được bảo vệ sẽ xuất hiện như sau:

Nhấp vào 'OK', sau đó nhấp vào 'Hoàn tất' để xem tập lệnh thực tế (công việc có thể thực thi) được tạo cho bạn:

Chạy công việc trong IRI Workbench hoặc trên dòng lệnh,

fieldshield /spec=CassShieldJob.fcl

Tệp CSV bạn đã tạo sẽ chứa dữ liệu được mã hóa và được che giấu mới.

Nhập dữ liệu được bảo vệ vào Cassandra

Để nhập lại dữ liệu đã thay đổi vào Cassandra, hãy sử dụng lệnh sau trong trình bao Cassandra CQL:

COPY <Table you are importing data to> (field1fromCSV, field2fromCSV, ...) FROM '<Path to CSV>';

Dữ liệu được bảo vệ trong Cassandra

Để biết chi tiết về các khả năng của FieldShield, hãy xem http://www.iri.com/products/fieldshield/technical-details.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các triệu chứng trên người quan sát và loại chờ đợi

  2. Ngôn ngữ thao tác dữ liệu SQL

  3. Cách nhóm theo năm trong SQL

  4. Hiểu sự kiện mất mát với sự kiện mở rộng

  5. Mức lương trung bình của một nhà phát triển SQL là gì?