Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

รักษาความปลอดภัยข้อมูลที่ละเอียดอ่อนใน Oracle

องค์กรเผชิญกับความท้าทายครั้งใหญ่ในการรักษาความปลอดภัยข้อมูลที่ละเอียดอ่อน เช่น หมายเลขประกันสังคม บัญชีธนาคารและหมายเลขเส้นทาง และข้อมูลอื่นๆ ที่คล้ายคลึงกัน

แนะนำตัว

กฎระเบียบและกฎหมายกำหนดให้องค์กรต้องปกป้องข้อมูลของตนเองและข้อมูลลูกค้าไม่ให้ตกไปอยู่ในมือของผู้อื่น การแก้ไขข้อมูล , หรือการกำบังข้อมูลแบบไดนามิก (DDM) เป็นกระบวนการในการทำให้งงงวยหรือซ่อนองค์ประกอบข้อมูลที่ละเอียดอ่อน

Oracle® Data Redaction ช่วยลดการเปิดเผยข้อมูลที่ละเอียดอ่อนและช่วยป้องกันการใช้ประโยชน์จากข้อบกพร่องของแอปพลิเคชันที่อาจเปิดเผยข้อมูลที่ละเอียดอ่อนในหน้าแอปพลิเคชัน

ผู้ดูแลระบบฐานข้อมูลและแอปพลิเคชัน ผู้ดูแลระบบความปลอดภัย และเจ้าของแอปพลิเคชันที่ต้องการวิธีง่ายๆ ในการปรับปรุงความปลอดภัยและปฏิบัติตามระเบียบข้อบังคับที่กำหนดให้แก้ไขข้อมูลที่ละเอียดอ่อนซึ่งแสดงโดยแอปพลิเคชันสามารถใช้ Redaction ได้

DDM

DDM คือกระบวนการแทนที่ข้อมูลที่ละเอียดอ่อนที่คัดลอกมาจากฐานข้อมูลการผลิตเพื่อทดสอบฐานข้อมูลที่ไม่ใช่การผลิตด้วยฐานข้อมูลที่สมจริง แต่ขัดเกลาด้วยกฎการมาสก์

Oracle 12c (ตอนนี้มีให้ใช้งานใน 11.2.0.8 ด้วย) ได้แนะนำความสามารถ DDM ในตัวที่เรียกว่า Data Redaction

การแก้ไขข้อมูล

การแก้ไขข้อมูลมีลักษณะดังต่อไปนี้:

  • ส่วนหนึ่งของ Oracle Advanced Security ซึ่งเป็นตัวเลือก EnterpriseEdition ที่ได้รับอนุญาตแยกต่างหาก

  • ปกป้องข้อมูลที่ละเอียดอ่อนที่แสดงในแอปพลิเคชันฐานข้อมูล

  • โปร่งใสสำหรับผู้ใช้แอปพลิเคชัน เนื่องจากจะรักษาประเภทข้อมูลดั้งเดิมและการจัดรูปแบบ (ไม่บังคับ)

  • ฐานข้อมูลมีความโปร่งใสสูง เนื่องจากข้อมูลยังคงเป็นบัฟเฟอร์ แคช และสภาพแวดล้อมเฉพาะพื้นที่เก็บข้อมูลเดียวกัน จนกว่าจะมีการเปลี่ยนแปลงก่อนส่งคืนผลลัพธ์การสืบค้น SQL ไปยังผู้โทร

ประเภทของการทำซ้ำ

ต่อไปนี้คือตัวอย่างบางส่วนของการทบทวนประเภทต่างๆ:

รักษาความปลอดภัยข้อมูลที่ละเอียดอ่อนใน Oracle

ข้อยกเว้นสำหรับการแก้ไข

หากคุณมี EXEMPT REDACTION POLICY สิทธิ์ของระบบ ข้อมูลจะไม่ถูกแก้ไข นอกจากนี้ยังไม่เคยใช้ Redaction ในสถานการณ์ต่อไปนี้:

  • การเชื่อมต่อเป็น SYS
  • การจำลองฐานข้อมูล
  • สำรองและกู้คืน
  • ส่งออกและนำเข้า

ตั้งค่า

ในการกำหนดนโยบาย คุณต้องมีสิทธิ์ดำเนินการใน DBMS_REDACT แพ็คเกจ ซึ่งใช้สำหรับเพิ่ม แก้ไข หรือวางนโยบาย

สำหรับการทดสอบ ฉันได้สร้างตารางและแทรกข้อมูลตามตัวอย่างต่อไปนี้:

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,'[email protected]');
INSERT INTO CUSTOMERS VALUES (5428,'Ganesh Murthy',4917484589897107,'03-APR-2022',54.00,'[email protected]');
INSERT INTO CUSTOMERS VALUES (6734,'Himanshu Menon' ,4001919257537193,'23-FEB-2022',66.99,'[email protected]');
INSERT INTO CUSTOMERS VALUES (3285,'Dishant Mathur'    ,4007702835532454,'21-JUN-2022',233.00,'[email protected]');
INSERT INTO CUSTOMERS VALUES (4522,'Saurabh Agarwal'    ,6362970000457013,'11-JUL-2022',777.00,'[email protected]');
INSERT INTO CUSTOMERS VALUES (1836,'Ankita Anthony'    ,6062826786276634,'06-AUG-2022',235.00,'[email protected]');
INSERT INTO CUSTOMERS VALUES (7494,'Varun Mehra'    ,5425233430109903,'18-SEP-2022',33.00,'[email protected]');
INSERT INTO CUSTOMERS VALUES (6548,'Aaaksh Chopra'    ,2222420000001113,'13-OCT-2022',97.00,'[email protected]');
Commit;

การตั้งค่า FUNCTION_TYPE สำหรับการปกปิดประเภทต่างๆ

ภายในข้อกำหนดของนโยบาย คุณตั้งค่า FUNCTION_TYPE ที่กำหนดว่าจะใช้ redaction แบบใดโดยใช้ค่าต่อไปนี้:

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

แสดงข้อมูล

ส่วนต่อไปนี้แสดงวิธีแสดงข้อมูลสำหรับประเภทการลงข้อมูลแต่ละประเภท

ไม่มีการตัดต่อ

หากไม่มีการใช้ Redaction คุณแสดงข้อมูลด้วยข้อความต่อไปนี้:

ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY';
COLUMN credit_card format 0000000000000000
COLUMN EMAILADR    format a20
SELECT * FROM CUSTOMERS
รักษาความปลอดภัยข้อมูลที่ละเอียดอ่อนใน Oracle

แก้ไขแบบเต็ม

ผู้ใช้ที่มีสิทธิ์ดำเนินการใน DBMS_REDACT package กำหนดนโยบาย

ในตัวอย่างนี้ ข้อมูลบัตรเครดิตจะถูกปกปิดเสมอเนื่องจากนิพจน์1=1 เป็นจริงเสมอ

นโยบาย:

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;
/
รักษาความปลอดภัยข้อมูลที่ละเอียดอ่อนใน Oracle

การปกปิดบางส่วน

โดยใช้ตัวอย่างต่อไปนี้ คุณสามารถปิดบังตำแหน่ง 1 ถึง 12 ของหมายเลขบัตรเครดิตด้วยศูนย์:

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;
/

หากต้องการยกเลิกนโยบายก่อนหน้านี้ ให้เรียกใช้คำสั่งต่อไปนี้:

execute DBMS_REDACT.drop_policy ('SAGARG','CUSTOMERS','REDACT_POLICY_CARD');
รักษาความปลอดภัยข้อมูลที่ละเอียดอ่อนใน Oracle

คุณยังดำเนินการแก้ไขบางส่วนในคอลัมน์อื่นๆ ได้ด้วย หากจำเป็น

สุ่มตรวจทาน

ด้วยการสุ่มตรวจ ข้อมูลจะถูกแทนที่ด้วยข้อมูลสุ่มอื่นๆ ตามที่แสดงในตัวอย่างต่อไปนี้:

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;
/
รักษาความปลอดภัยข้อมูลที่ละเอียดอ่อนใน Oracle

การใช้นิพจน์ทั่วไป

ด้วยนิพจน์ทั่วไป คุณสามารถแก้ไขข้อมูลตามการจับคู่รูปแบบ รูปแบบที่กำหนดไว้ล่วงหน้าครอบคลุมหลายสถานการณ์ เช่น ที่อยู่อีเมลและ IPaddresses ตัวอย่างต่อไปนี้ซ่อนจุดเริ่มต้นของที่อยู่อีเมล:

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;
/
รักษาความปลอดภัยข้อมูลที่ละเอียดอ่อนใน Oracle

ค่าพารามิเตอร์สำหรับนิพจน์จะเป็น '1=1' เสมอ ดังนั้นข้อมูลจะถูกปกปิดเสมอ

สำหรับผู้ใช้เฉพาะ

หากต้องการแก้ไขข้อมูลสำหรับผู้ใช้เฉพาะ คุณสามารถเพิ่มนิพจน์ต่อไปนี้ในโปรไฟล์:

'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;
/
รักษาความปลอดภัยข้อมูลที่ละเอียดอ่อนใน Oracle

บทสรุป

เมื่อคุณแก้ไขข้อมูลแอปพลิเคชันที่แสดงโดยใช้ Oracle Data Redaction คุณจะจำกัดความเสี่ยงในการเปิดเผยข้อมูลที่ละเอียดอ่อนต่อผู้ใช้แอปพลิเคชันที่ไม่ใช่กลุ่มเป้าหมาย

นอกจากนี้ Oracle Data Redaction ยังช่วยป้องกันการเปิดเผยข้อมูลโดยไม่ได้ตั้งใจให้กับผู้ใช้ฐานข้อมูลที่ไม่ต้องการเห็นข้อมูลที่ละเอียดอ่อนแต่อาจพบข้อมูลดังกล่าวขณะทำงานกับฐานข้อมูล

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม

เพิ่มประสิทธิภาพสภาพแวดล้อมของคุณด้วยการดูแลระบบ การจัดการ และการกำหนดค่าจากผู้เชี่ยวชาญ

บริการแอปพลิเคชันของ Rackspace(RAS) ผู้เชี่ยวชาญจะให้บริการแบบมืออาชีพและที่มีการจัดการในแอปพลิเคชันที่หลากหลาย:

  • แพลตฟอร์มอีคอมเมิร์ซและประสบการณ์ดิจิทัล
  • การวางแผนทรัพยากรองค์กร (ERP)
  • ระบบธุรกิจอัจฉริยะ
  • การจัดการลูกค้าสัมพันธ์ของ Salesforce (CRM)
  • ฐานข้อมูล
  • อีเมลโฮสติ้งและประสิทธิภาพการทำงาน

เราจัดส่ง:

  • ความเชี่ยวชาญที่เป็นกลาง :เราลดความซับซ้อนและเป็นแนวทางในการสร้างสรรค์สิ่งใหม่ของคุณ โดยมุ่งเน้นที่ความสามารถที่มอบคุณค่าในทันที
  • ประสบการณ์สุดคลั่ง ™:เรารวมกระบวนการก่อน เทคโนโลยีที่สอง®แนวทางพร้อมการสนับสนุนทางเทคนิคเฉพาะเพื่อมอบโซลูชันที่ครอบคลุม
  • ผลงานที่ยอดเยี่ยม :เราใช้ประสบการณ์ระบบคลาวด์ที่ครอบคลุมเพื่อช่วยคุณเลือกและปรับใช้เทคโนโลยีที่เหมาะสมบนระบบคลาวด์ที่เหมาะสม
  • ส่งไว :เราพบคุณในที่ที่คุณอยู่ในการเดินทางของคุณและปรับความสำเร็จของเราไปพร้อมกับคุณ

แชทเลยเพื่อเริ่มต้น