บทนำ
องค์กรเผชิญ Challenge ใหญ่ในการ Secure Sensitive Data เช่น Social Security Numbers, Bank Account และ Routing Numbers และข้อมูลคล้ายๆ กัน
Introduction
Regulations และ Laws กำหนดให้องค์กรปกป้อง Data ของตัวเองและ Customer Information ไม่ให้หลุดมือคนอื่น Data Redaction หรือ Dynamic Data Masking (DDM) คือ Process ของการ Obfuscate หรือ Hide Sensitive Data Elements
Oracle® Data Redaction ลด Exposure ของ Sensitive Information และช่วย Prevent Exploitation ของ Application Flaws ที่อาจ Disclose Sensitive Data ใน Application Pages
Database/Application Administrators, Security Administrators, และ Application Owners ที่ต้องการ Easy Way เพื่อ Improve Security และ Comply กับ Regulations ที่กำหนด Redact Sensitive Data ที่ Applications Display สามารถใช้ Data Redaction ได้
DDM
DDM คือ Process ของการ Replace Sensitive Information ที่ Copy จาก Production Databases ไป Test Non-production Databases ด้วย Realistic แต่ Scrubbed Data ตาม Masking Rules
Oracle 12c (Available ใน 11.2.0.8 ด้วย) Introduce Built-in DDM Capability เรียกว่า Data Redaction
Data Redaction
Data Redaction มี Characteristics:
- ส่วนหนึ่งของ Oracle Advanced Security ซึ่งเป็น Separately Licensed Enterprise Edition Option
- ปกป้อง Sensitive Data ที่ Display ใน Database Applications
- Transparent ต่อ Application Users เพราะ Preserve Original Data Type และ Formatting (Optional)
- Highly Transparent ต่อ Database เพราะ Data คงเดิมใน Buffers, Caches, และ Storage-only Environments จนกว่าจะเปลี่ยนก่อน Return SQL Query Results ให้ Caller
Types of Redaction
ตัวอย่าง Types ของ Redaction ต่างๆ:
Exceptions สำหรับ Redaction
ถ้ามี System Privilege EXEMPT REDACTION POLICY Data จะไม่ถูก Redact ไม่เคย Redaction ยังไม่ใช้ใน Situations ต่อไป:
- Connections as
SYS - Database Replication
- Backup และ Restore
- Export และ Import
Setup
เพื่อ Define Policy ต้องมี Execute Privileges บน Package DBMS_REDACT ซึ่งใช้ Add, Alter, หรือ Drop Policies
สำหรับ Testing สร้าง Table และ Insert Data:
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 สำหรับ Redaction Types ต่างๆ
ใน Policy Definition Set FUNCTION_TYPE กำหนด Redaction Type ด้วย Values:
DBMS_REDACT.NONEDBMS_REDACT.FULLDBMS_REDACT.PARTIALDBMS_REDACT.RANDOMDBMS_REDACT.REGEXP
Display Data
Sections ต่อไปแสดงวิธี Display Data สำหรับแต่ละ Redaction Type
No Redaction
ถ้าไม่ใช้ Redaction Display Data ด้วย:
ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY';
COLUMN credit_card format 0000000000000000
COLUMN EMAILADR format a20
SELECT * FROM CUSTOMERS
Full Redaction
User ที่มี Execute Privileges บน DBMS_REDACT Define Policy ในตัวอย่าง Credit Card Data จะถูก Redact เสมอ เพราะ Expression 1=1 เป็น True เสมอ
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; /
Partial Redaction
Mask Positions 1-12 ของ Credit Card Number ด้วย Zero:
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; /
Drop Previous Policy:
execute DBMS_REDACT.drop_policy ('SAGARG','CUSTOMERS','REDACT_POLICY_CARD');
Partial Redaction บน Columns อื่นก็ได้ถ้าต้องการ
Random Redaction
Random Redaction แทนที่ Information ด้วย Random Data:
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; /
Using Regular Expressions
Regular Expressions Redact Data ตาม Pattern Matching Predefined Patterns ครอบคลุมหลาย Situations เช่น Email Addresses และ IP Addresses ตัวอย่าง Hide ต้น Email Address:
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; /
Parameter Value สำหรับ Expression เสมอ '1=1' ดังนั้น Data จะถูก Redact เสมอ
For a Specific User
Redact Data สำหรับ Specific User เพิ่ม Expression ใน Profile:
'SYS_CONTEXT(''USERENV'',''SESSION_USER'') = ''SAGARG'''
ตัวอย่าง:
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; /
สรุป
เมื่อคุณ Redact Displayed Application Data ด้วย Oracle Data Redaction คุณลด Risk ของการ Expose Sensitive Data ให้ Application Users ที่ไม่ใช่ Intended Audience
เพิ่มเติม Oracle Data Redaction ช่วย Prevent Accidental Disclosure ของ Data ให้ Database Users ที่ไม่ได้ต้องการเห็น Sensitive Information แต่อาจพบเจอขณะทำงานกับ Database
ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม
เพิ่มประสิทธิภาพสภาพแวดล้อมด้วยบริการผู้เชี่ยวชาญ
ผู้เชี่ยวชาญ Rackspace Application Services (RAS) ให้บริการ Professional และ Managed Services ครอบคลุม Portfolio หลากหลาย:
- Platform สำหรับ eCommerce และ Digital Experience
- Enterprise Resource Planning (ERP)
- Business Intelligence
- Salesforce Customer Relationship Management (CRM)
- Databases
- Email Hosting และ Productivity
เรามอบ:
- Unbiased Expertise: ลดความซับซ้อนและนำทางการ Modernization เน้นความสามารถที่สร้างคุณค่าทันที
- Fanatical Experience™: รวมแนวทาง Process First. Technology Second.® พร้อม Technical Support ให้ Soluation ครบวงจร
- Unrivaled Portfolio: ประยุกต์ประสบการณ์ Cloud มากมายช่วยเลือกและ Deploy เทคโนโลยีที่เหมาะสมบน Cloud ที่เหมาะสม
- Agile Delivery: ตรงจุดที่คุณอยู่ในการเดินทางและทำให้ความสำเร็จของเราสอดคล้องกับคุณ
แชทตอนนี้เพื่อเริ่มต้น