Basic Percona: Masking Data เบื้องต้น
การ ปกปิดข้อมูลด้วยการใช้ Masking Data ของ Percona นั้นมีวิธีที่หลากหลาย ไม่ว่าจะด้วยการปกปิดคำ คำ นั้นด้วยการเซนเซอร์ เปลี่ยนคำไปเลย หรือ สุ่มค่าขึ้นมาใหม่
โดยวันนี้เราจะทำความรู้จักการปกปิดแบบแรกกัน ด้วยการ ใช้งาน Masking Data เพื่อทำให้ข้อมูลของลูกค้าไม่ปรากฏสู่สาธารณะ
โดยเราจะมาเรียนรู้การทำงานของการทำ Masking Data ทั้งหมด 5 แบบ ของ Percona กันครับ
โดยจะสามารถแบ่งได้ 5 แบบ ตามรูปข้างต้น inner, outer, pan, pan_relaxed, ssn
แล้วแต่ละอันแตกต่างกันอย่างไรบ้างละ
1.Mask_inner และ Mask_outer
ผมขอรวม 2 หัวข้อนี้ไว้ด้วยกัน เนื่องจากวิธีการทำงานของทั้ง 2 แบบนั้นค่อนข้างเหมือนกัน ต่างแค่วิธีการใช้งานเล็กๆน้อยๆ
inner ส่งกลับผลลัพธ์ที่มีการปกปิดเฉพาะส่วนในของสตริง สามารถเปลี่ยนตัวอักษรที่ใช้ในการปกปิดได้ outer ทำการปกปิดข้อมูลส่วนนอก แต่จะไม่ปกปิดข้อมูลส่วนด้านใน
Mask_inner, mask_inner (‘string, margin1, margin2,[character])
Mask_outer, mask_outer(‘string, margin1, margin2, [character])
ดูจาก parameter ข้างบนอาจจะเห็นว่ามันไม่ต่างกันเลย
แต่หากเราลองเขียนให้แสดงผลมันจะได้ค่าที่ต่างกันคือ
6XXXXXXXXXXX0 สำหรับ inner
XXX7015583XXX สำหรับ outer
การเรียกใช้คำสั่งนั้นเหมือนกันเลย แค่ค่าที่ออกมานั้นต่างกัน โดย inner จะปกปิดคำด้านใน outer ปกปิดคำด้านนอกนั่นเอง
2.Mask_Pan
ปกปิดหมายเลขบัญชี(PAN) โดยแทนที่ข้อมูลด้วย “X” ยกเว้นสี่ตัวสุดท้าย ข้อมูล PAN ต้องมีความยาว 15 ตัวอักษรหรือ 16 ตัวอักษร
Mask_pan, mask_pan(‘string’)
สมมุติ ว่าเราใส่ค่า 123456789012345 ลงไป และเราทำการปกปิดด้วยการใช้ mask_pan จะทำให้ค่าที่ออกมาเป็น
XXXXXXXXXXX2345
โดยการปกปิดด้วยวิธีการนี้จะปกปิดเลขที่มีจำนวน 15 ถึง 16 ตัวได้เท่านั้น และจะทำการปกปิดคำทุกตัวยกเว้น 4 ตัวอักษรสุดท้ายตามตัวอย่าง
3.Mask_Pan_Relaxed
โชว์ข้อมูลแค่หกตัวแรกและตัวเลขสี่ตัวสุดท้าย สตริงที่เหลือจะถูกแทนที่ด้วย “X”
mask_pan_relaxed, mask_pan_relaxed(‘string’)
สมมุติ ว่าเราใส่ค่า 123456789012345 ลงไป และเราทำการปกปิดด้วยการใช้ mask_pan_relaxed จะทำให้ค่าที่ออกมาเป็น
123456XXXXX2345
แล้วมันต่างกับ mask inner อย่างไรละ?
mask pan relaxed ถูกตั้งไว้แล้วว่าให้เว้น 6 ตัวแรก และ 4 ตัวสุดท้ายไม่ให้ปกปิดไว้อยู่แล้ว ต่างกับ mask_inner ที่ต้องระบุค่าเองว่าจะปกปิดกี่ตัว ถึง กี่ตัว แต่ข้อจำกัดยังคงเท่าเดิมคือใช้ได้กับตัวเลขที่ limit ไว้เท่านั้น
4.Mask_SSN
โชว์ข้อมูลที่มองเห็นเฉพาะตัวเลขสี่ตัวสุดท้าย ข้อมูลที่เหลือจะถูกแทนที่ด้วย “X”
mask_ssn, mask_ssn(‘string’)
สมมุติ ว่าเราใส่ค่า 555–55–5555 ลงไป และเราทำการปกปิดด้วยการใช้ mask_ssn จะทำให้ค่าที่ออกมาเป็น
XXX-XX-5555
โดยจะเห็นว่าวิธีที่ใช้นี้ จะเน้นไปที่การปกปิดคำทั้งหมดทุกวิธี ทั้งนี้ผู้อ่านสามารถเปลี่ยนค่าที่ใช้ปกปิดจาก “X” เป็นตัวอักษรอื่นๆได้ ขึ้นอยู่กับที่ผู้อ่านต้องการได้เลยครับ
หวังว่าบทความนี้จะทำให้ผู้อ่านเข้าใจมากขึ้นไม่มากก็น้อย ขอบคุณที่อ่านกันจนจบครับผม 🎉🎉🎊🎊