PlusMagi's Blog By Pitt Phunsanit Cybersecurity สิทธิของเจ้าของข้อมูลส่วนบุคคลตามกฎหมาย PDPA (สิทธิขอเข้าถึง, ลบ, แก้ไข และคัดค้าน)

สิทธิของเจ้าของข้อมูลส่วนบุคคลตามกฎหมาย PDPA (สิทธิขอเข้าถึง, ลบ, แก้ไข และคัดค้าน)

ในยุคดิจิทัลที่ข้อมูลส่วนบุคคล (Personal Data) คือสินทรัพย์ที่มีมูลค่าสูงสุด การเก็บรวบรวมและประมวลผลข้อมูลจึงเกิดขึ้นอย่างกว้างขวาง องค์กรต่างๆ จึงต้องปฏิบัติตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล (PDPA) อย่างเคร่งครัด เพื่อให้มั่นใจว่าเจ้าของข้อมูลมีสิทธิในการควบคุมข้อมูลของตนเอง บทความนี้จะเจาะลึกถึงหลักการทางกฎหมาย PDPA และแสดงแนวทางการนำไปประยุกต์ใช้เชิงเทคนิค โดยเฉพาะอย่างยิ่งกับการออกแบบและจัดการฐานข้อมูลด้วย PostgreSQL

Understanding Data Subject Rights ในมุมมอง Database Architecture

PDPA ได้มอบสิทธิพื้นฐานที่สำคัญแก่เจ้าของข้อมูล 4 ประการ ซึ่งแต่ละสิทธินั้นสามารถถูกแปลงเป็นกระบวนการ (Process) หรือคำสั่ง (Command) ที่ระบบฐานข้อมูลต้องรองรับได้อย่างชัดเจน:

  • สิทธิในการเข้าถึง (Right of Access): เจ้าของข้อมูลมีสิทธิ์ทราบว่าองค์กรเก็บข้อมูลอะไรบ้าง และนำไปใช้เพื่อวัตถุประสงค์ใด
  • สิทธิในการแก้ไข (Right to Rectification): เมื่อพบความคลาดเคลื่อน ข้อมูลต้องได้รับการปรับปรุงให้ถูกต้องทันที
  • สิทธิในการลบ (Right to Erasure / Right to be Forgotten): สิทธิ์ในการขอให้ทำลายข้อมูลเมื่อหมดความจำเป็น
  • สิทธิในการคัดค้าน (Right to Object): การปฏิเสธการใช้ข้อมูลในบางวัตถุประสงค์ เช่น การตลาดโดยตรง

ในเชิงของ PostgreSQL เราสามารถจำลองและบังคับใช้สิทธิเหล่านี้ได้ผ่านกลไกของการ Query, Update, Delete และ Row-Level Security (RLS) เพื่อให้มั่นใจว่าการเข้าถึงข้อมูลเป็นไปตามขอบเขตที่กำหนด

🛠️ การประยุกต์ใช้ PDPA Rights ด้วย PostgreSQL Syntax

สมมติฐาน: เรามีตารางเก็บข้อมูลผู้ใช้งานชื่อ user_data ที่ประกอบด้วยคอลัมน์ เช่น id, name, email, และ consent_status

1. สิทธิในการเข้าถึง (Access)

การให้เจ้าของข้อมูลทราบว่าใครกำลังดูอะไร ต้องใช้คำสั่ง SELECT ที่มีการจำกัดขอบเขตอย่างเข้มงวด:

SQL

-- Query เพื่อแสดงเฉพาะข้อมูลที่จำเป็นต่อผู้ใช้งานเท่านั้น (Principle of Least Privilege) 
SELECT id, name, email FROM user_data WHERE user_id = 123;

2. สิทธิในการแก้ไข (Rectification)

เมื่อพบความผิดพลาดของข้อมูล ต้องใช้คำสั่ง UPDATE เพื่อปรับปรุงให้ถูกต้อง:

SQL

-- อัปเดตชื่อและที่อยู่ให้เป็นปัจจุบัน 
UPDATE user_data SET name = 'John Doe', address = '123 New St' WHERE id = 456;

3. สิทธิในการลบ (Erasure)

การลบข้อมูลต้องทำอย่างระมัดระวัง อาจเป็นการใช้ DELETE หรือการ Masking ข้อมูลเพื่อคงโครงสร้างตารางไว้:

SQL

-- ตัวเลือกที่ 1: ลบบันทึกทั้งหมด (เมื่อไม่มีข้อกำหนดทางกฎหมายให้เก็บ) 
DELETE FROM user_data WHERE id = 789; 

-- ตัวเลือกที่ 2: Masking ข้อมูลแทนการลบ เพื่อวัตถุประสงค์ในการตรวจสอบ (Audit Trail) 
UPDATE user_data SET email = NULL, name = 'ANONYMIZED' WHERE id = 101;

4. สิทธิในการคัดค้าน (Object)

การจำกัดสิทธิ์การใช้งานข้อมูลสำหรับวัตถุประสงค์บางอย่าง สามารถทำได้โดยใช้ PostgreSQL Views หรือ Row-Level Security (RLS):

SQL

-- สร้าง View ที่ซ่อนคอลัมน์ที่เกี่ยวข้องกับการตลาด หากผู้ใช้นั้นปฏิเสธสิทธิ์ 
CREATE VIEW user_view AS SELECT id, name, email FROM user_data WHERE consent_status = 'Marketing: Granted';

💡 บทสรุปสำหรับ Senior Architect

การออกแบบระบบที่รองรับ PDPA ไม่ใช่แค่การเขียนโค้ด DELETE แต่คือการสร้างสถาปัตยกรรมข้อมูล (Data Architecture) ที่คำนึงถึง ‘สิทธิ’ เป็นหลัก การใช้ PostgreSQL Features เช่น Views, RLS และ Transaction Management จะช่วยให้องค์กรสามารถพิสูจน์ได้ว่ามีการควบคุมและจัดการวงจรชีวิตของข้อมูลส่วนบุคคลอย่างถูกต้องตามกฎหมาย ซึ่งเป็นการสร้างความน่าเชื่อถือและความมั่นคงทางดิจิทัลให้กับธุรกิจในระยะยาว