Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Cơ Sở Dữ Liệu

Bảo mật dữ liệu nhạy cảm trong Oracle: Advanced Redaction & Dynamic Masking

Các tổ chức đối mặt với thách thức lớn trong việc bảo mật dữ liệu nhạy cảm như số an sinh xã hội, số tài khoản và routing ngân hàng, và dữ liệu tương tự khác.

Giới thiệu

Quy định và luật pháp yêu cầu tổ chức bảo vệ dữ liệu của chính họ và thông tin khách hàng khỏi việc rơi vào tay sai. Data redaction (chỉnh sửa dữ liệu), hoặc dynamic data masking (DDM), là quá trình làm mờ hoặc ẩn các yếu tố dữ liệu nhạy cảm.

Oracle® Data Reduction giảm thiểu việc phơi bày thông tin nhạy cảm và giúp ngăn chặn khai thác lỗ hổng ứng dụng có thể tiết lộ dữ liệu nhạy cảm trong trang ứng dụng.

Database và application administrators, security administrators, và application owners muốn một cách dễ dàng để cải thiện bảo mật và tuân thủ quy định yêu cầu che giấu dữ liệu nhạy cảm được hiển thị bởi ứng dụng có thể sử dụng Data Redaction.

DDM

DDM là quá trình thay thế thông tin nhạy cảm được copy từ production database sang test non-production database bằng dữ liệu thực tế, nhưng đã được làm sạch (scrubbed), dựa trên masking rules.

Oracle 12c (nay có sẵn trong 11.2.0.8 cũng) giới thiệu khả năng DDM tích hợp sẵn gọi là Data Redaction.

Data Redaction

Data Redaction có các đặc điểm sau:

  • Một phần của Oracle Advanced Security, là tùy chọn Enterprise Edition được cấp phép riêng biệt.

  • Bảo vệ dữ liệu nhạy cảm được hiển thị trong ứng dụng database.

  • Minh bạch với người dùng ứng dụng vì nó bảo toàn kiểu dữ liệu gốc, và tùy chọn, định dạng.

  • Rất minh bạch với database vì dữ liệu giữ nguyên trong buffers, caches, và storage-only environments cho đến khi nó thay đổi ngay trước khi trả kết quả SQL query cho caller.

Các loại redaction

Dưới đây là một số ví dụ về các loại redaction khác nhau:

Bảo mật dữ liệu nhạy cảm trong Oracle: Advanced Redaction & Dynamic Masking

Ngoại lệ cho redaction

Nếu bạn có quyền hệ thống EXEMPT REDACTION POLICY, dữ liệu không bao giờ bị redacted. Redaction cũng không bao giờ được dùng trong các tình huống sau:

  • Kết nối dưới SYS
  • Database replication
  • Backup và restore
  • Export và import

Thiết lập

Để định nghĩa policy, bạn cần có execute privileges trên package DBMS_REDACT, được dùng để thêm, sửa đổi, hoặc xóa policies.

Để test, tôi đã tạo một bảng và chèn một số dữ liệu như ví dụ sau:

CREATE TABLE CUSTOMERS (cust_id NUMBER NOT NULL ,name varchar2(20) ,credit_card NUMBER(16) ,exp_date DATE ,creditlimit NUMBER(6,2) ,emailadr varchar2(20) ) / INSERT INTO CUSTOMERS VALUES (1982,'Vijay Garg' ,4263982640269299,'11-FEB-2022',22.50,'Vijay.Garg@gmail.com'); INSERT INTO CUSTOMERS VALUES (5428,'Ganesh Murthy',4917484589897107,'03-APR-2022',54.00,'Ganesh@oracle.com'); INSERT INTO CUSTOMERS VALUES (6734,'Himanshu Menon' ,4001919257537193,'23-FEB-2022',66.99,'Himanshu@yahoo.com'); INSERT INTO CUSTOMERS VALUES (3285,'Dishant Mathur' ,4007702835532454,'21-JUN-2022',233.00,'Dishant@aol.com'); INSERT INTO CUSTOMERS VALUES (4522,'Saurabh Agarwal' ,6362970000457013,'11-JUL-2022',777.00,'Saurabh@gmail.com'); INSERT INTO CUSTOMERS VALUES (1836,'Ankita Anthony' ,6062826786276634,'06-AUG-2022',235.00,'Ankita@net4india.com'); INSERT INTO CUSTOMERS VALUES (7494,'Varun Mehra' ,5425233430109903,'18-SEP-2022',33.00,'Varun@outlook.com'); INSERT INTO CUSTOMERS VALUES (6548,'Aaaksh Chopra' ,2222420000001113,'13-OCT-2022',97.00,'Aaaksh@aol.com'); Commit; 

FUNCTION_TYPE setting cho các loại redaction khác nhau

Trong định nghĩa policy, bạn đặt FUNCTION_TYPE định nghĩa loại redaction nào đang được dùng bằng các giá trị sau:

  • DBMS_REDACT.NONE
  • DBMS_REDACT.FULL
  • DBMS_REDACT.PARTIAL
  • DBMS_REDACT.RANDOM
  • DBMS_REDACT.REGEXP

Hiển thị dữ liệu

Các phần sau cho thấy bạn cách hiển thị dữ liệu cho từng loại redaction.

Không redaction

Nếu không dùng redaction, bạn hiển thị dữ liệu với các câu lệnh sau:

ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY'; COLUMN credit_card format 0000000000000000 COLUMN EMAILADR format a20 SELECT * FROM CUSTOMERS 
Bảo mật dữ liệu nhạy cảm trong Oracle: Advanced Redaction & Dynamic Masking

Full redaction

User có execute privileges trên package DBMS_REDACT định nghĩa policy.

Trong ví dụ này, dữ liệu credit card luôn bị redacted vì biểu thức 1=1 luôn đúng.

Policy:

BEGIN DBMS_REDACT.ADD_POLICY ( object_schema => 'SAGARG', object_name => 'CUSTOMERS', column_name => 'CREDIT_CARD', policy_name => 'REDACT_POLICY_CARD', function_type => DBMS_REDACT.FULL, expression => '1=1' ); END; / 
Bảo mật dữ liệu nhạy cảm trong Oracle: Advanced Redaction & Dynamic Masking

Partial redaction

Bằng cách dùng ví dụ sau, bạn có thể mask vị trí 1 đến 12 của số credit card bằng số 0:

BEGIN DBMS_REDACT.ADD_POLICY ( object_schema => 'SAGARG', object_name => 'CUSTOMERS', column_name => 'CREDIT_CARD', policy_name => 'REDACT_POLICY_CARD', function_type => DBMS_REDACT.PARTIAL, function_parameters => '0,1,12', expression => '1=1' ); END; / 

Để xóa policy trước, chạy lệnh sau:

execute DBMS_REDACT.drop_policy ('SAGARG','CUSTOMERS','REDACT_POLICY_CARD'); 
Bảo mật dữ liệu nhạy cảm trong Oracle: Advanced Redaction & Dynamic Masking

Bạn cũng có thể làm partial redaction trên các cột khác, nếu cần.

Random redaction

Với random redaction, thông tin được thay thế bằng dữ liệu ngẫu nhiên khác như ví dụ sau:

BEGIN DBMS_REDACT.ADD_POLICY ( object_schema => 'SAGARG', object_name => 'CUSTOMERS', column_name => 'CREDIT_CARD', policy_name => 'REDACT_POLICY_CARD', function_type => DBMS_REDACT.RANDOM, expression => '1=1' ); END; / 
Bảo mật dữ liệu nhạy cảm trong Oracle: Advanced Redaction & Dynamic Masking

Sử dụng biểu thức chính quy

Với biểu thức chính quy, bạn có thể redact dữ liệu dựa trên pattern matching. Các pattern định nghĩa sẵn bao gồm một số tình huống, như địa chỉ email và địa chỉ IP. Ví dụ sau ẩn phần đầu của địa chỉ email:

BEGIN DBMS_REDACT.ADD_POLICY ( object_schema => 'SAGARG', object_name => 'CUSTOMERS', column_name => 'EMAILADR', policy_name => 'REDACT_POLICY_CARD', function_type => DBMS_REDACT.REGEXP, regexp_pattern => DBMS_REDACT.RE_PATTERN_EMAIL_ADDRESS, regexp_replace_string => DBMS_REDACT.RE_REDACT_EMAIL_NAME, regexp_position => DBMS_REDACT.RE_BEGINNING, regexp_occurrence => DBMS_REDACT.RE_ALL, expression => '1=1' ); END; / 
Bảo mật dữ liệu nhạy cảm trong Oracle: Advanced Redaction & Dynamic Masking

Giá trị tham số expression luôn là '1=1', nên dữ liệu luôn bị redacted.

Cho một user cụ thể

Để redact dữ liệu cho user cụ thể, bạn có thể thêm biểu thức sau vào profile:

'SYS_CONTEXT(''USERENV'',''SESSION_USER'') = ''SAGARG''' 

Ví dụ:

BEGIN DBMS_REDACT.ADD_POLICY( object_schema => 'SAGARG', object_name => 'CUSTOMERS', column_name => 'CREDIT_CARD', policy_name => 'REDACT_POLICY_CARD', function_type => DBMS_REDACT.RANDOM, expression => 'SYS_CONTEXT(''USERENV'',''SESSION_USER'') = ''SAGARG'''); END; / 
Bảo mật dữ liệu nhạy cảm trong Oracle: Advanced Redaction & Dynamic Masking

Kết luận

Khi bạn redact dữ liệu ứng dụng được hiển thị bằng cách sử dụng Oracle Data Redaction, bạn giới hạn rủi ro phơi bày dữ liệu nhạy cảm cho người dùng ứng dụng không phải là đối tượng dự kiến.

Ngoài ra, Oracle Data Redaction giúp ngăn chặn việc tiết lộ dữ liệu ngẫu nhiên cho database user không muốn xem thông tin nhạy cảm nhưng có thể gặp phải nó khi làm việc với database.

Sử dụng tab Feedback để đưa ra bình luận hoặc đặt câu hỏi.

Tối ưu môi trường của bạn với quản trị, quản lý và cấu hình chuyên nghiệp

Các chuyên gia Dịch vụ ứng dụng của Rackspace (RAS) cung cấp các dịch vụ chuyên nghiệp và được quản lý sau đây trên danh mục ứng dụng rộng:

  • Nền tảng eCommerce và Trải nghiệm số
  • Quản trị nguồn lực doanh nghiệp (ERP)
  • Business Intelligence
  • Salesforce Quản trị quan hệ khách hàng (CRM)
  • Databases
  • Lưu trữ Email và Năng suất

Chúng tôi cung cấp:

  • Chuyên môn khách quan: Chúng tôi đơn giản hóa và hướng dẫn hành trình hiện đại hóa của bạn, tập trung vào các khả năng mang lại giá trị ngay lập tức.
  • Fanatical Experience™: Chúng tôi kết hợp phương pháp Process first. Technology second.® với hỗ trợ kỹ thuật chuyên dụng để cung cấp giải pháp toàn diện.
  • Danh mục không đối thủ: Chúng tôi áp dụng kinh nghiệm đám mây rộng lớn để giúp bạn chọn và triển khai công nghệ phù hợp trên đám mây phù hợp.
  • Giao hàng Agile: Chúng tôi gặp gỡ bạn ở bất kỳ đâu trong hành trình của bạn và điều chỉnh thành công của chúng tôi với của bạn.

Chat ngay để bắt đầu.