ในยุคที่ข้อมูลส่วนบุคคล (Personal Data) คือสินทรัพย์ที่มีมูลค่าสูงสุด การบริหารจัดการข้อมูลจึงไม่ใช่แค่เรื่องทางเทคนิค แต่เป็นประเด็นเชิงกฎหมายและจริยธรรมที่องค์กรต้องให้ความสำคัญอย่างยิ่ง ภายใต้หลักการกำกับดูแลข้อมูล (Data Governance) การทำความเข้าใจบทบาทและความรับผิดชอบที่ชัดเจนระหว่างคู่สัญญาจึงเป็นหัวใจสำคัญของการดำเนินธุรกิจอย่างถูกกฎหมายและสร้างความเชื่อมั่นให้กับผู้ใช้งาน
การแยกแยะบทบาท: Data Controller และ Data Processor
ตามหลักการกำกับดูแลข้อมูล เราต้องแยกแยะบทบาทให้ชัดเจนระหว่าง ผู้ควบคุมข้อมูลส่วนบุคคล (Data Controller) และ ผู้ประมวลผลข้อมูล (Data Processor) ความสัมพันธ์นี้เปรียบเสมือนการกำหนดสิทธิ์การเข้าถึงและวัตถุประสงค์ในการใช้ข้อมูล ซึ่งในทางเทคนิคของ PostgreSQL เราสามารถจำลองความสัมพันธ์นี้ได้ผ่านการกำหนดโครงสร้างและการดำเนินการคำสั่ง
1. Data Controller: ผู้กำหนดโครงสร้างและวัตถุประสงค์ (The Schema Designer)
Data Controller คือผู้ที่มีอำนาจในการตัดสินใจว่าจะเก็บ รวบรวม ใช้ หรือเปิดเผยข้อมูลใด และเพื่อวัตถุประสงค์อะไร ความรับผิดชอบหลักในการตัดสินใจและการปฏิบัติตามกฎหมายจึงตกอยู่กับ Data Controller เสมอ ในเชิง PostgreSQL บทบาทนี้เทียบได้กับการ CREATE TABLE ที่กำหนดโครงสร้าง (Schema) และนิยามว่าข้อมูลใดบ้างที่จำเป็นต้องมี
SQL
-- Data Controller กำหนดวัตถุประสงค์และโครงสร้างข้อมูล (Schema Definition)</code><code class="language-sql">CREATE TABLE user_data (</code><br><code> user_id SERIAL PRIMARY KEY,</code><br><code> full_name VARCHAR(100) NOT NULL,</code><br><code> email VARCHAR(100) UNIQUE,</code><br><code> collection_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP</code><br><code>);
2. Data Processor: ผู้ดำเนินการตามคำสั่ง (The Query Executor)
Data Processor คือผู้ที่รับหน้าที่ดำเนินการประมวลผลข้อมูลตามคำสั่งและข้อกำหนดที่ได้รับจาก Data Controller เท่านั้น พวกเขาไม่มีสิทธิ์ในการกำหนดวัตถุประสงค์เอง แต่มีหน้าที่ดำเนินการตามสัญญาและข้อกำหนดด้านความปลอดภัยอย่างเคร่งครัด ในเชิง PostgreSQL บทบาทนี้เทียบได้กับการ SELECT หรือ UPDATE ที่ต้องทำตามคำสั่งที่จำกัดขอบเขตเท่านั้น
SQL
-- Data Processor ดำเนินการตามคำสั่งของ Controller (SELECT ข้อมูลที่จำเป็นเท่านั้น)</code><code class="language-sql">SELECT full_name, email FROM user_data</code><br><code>WHERE collection_date > '2023-01-01' AND user_id = 1;
ความรับผิดชอบทางเทคนิคและการกำกับดูแล (Technical Governance)
ความแตกต่างที่สำคัญคือ Data Processor ต้องมีมาตรการทางเทคนิค (Technical Measures) ที่แข็งแกร่ง เพื่อให้มั่นใจว่าการเข้าถึงข้อมูลเป็นไปตามขอบเขตที่กำหนด (Principle of Least Privilege) การใช้คำสั่ง SQL จึงต้องถูกจำกัดด้วย WHERE clause เสมอ เพื่อป้องกันการเข้าถึงข้อมูลเกินความจำเป็น (Over-access) และการดำเนินการจะต้องถูกบันทึก (Logging) อย่างสมบูรณ์
SQL
-- ตัวอย่างการจำกัดสิทธิ์การเข้าถึง (Processor ทำได้แค่ SELECT)</code><code class="language-sql">-- Data Processor ไม่สามารถใช้คำสั่ง DROP TABLE ได้</code><code class="language-sql">-- Data Processor สามารถใช้คำสั่ง UPDATE ได้เฉพาะคอลัมน์ที่ระบุเท่านั้น</code><code class="language-sql">UPDATE user_data SET email = '[email protected]' WHERE user_id = 1;
บทสรุป
การทำความเข้าใจบทบาทระหว่าง Data Controller และ Data Processor จึงเป็นเสมือนการกำหนดสิทธิ์ (Permissions) ในระบบฐานข้อมูลอย่างชัดเจน Data Controller คือผู้กำหนดว่าข้อมูลใดควรอยู่ (Schema) ส่วน Data Processor คือผู้ที่รับผิดชอบในการดึงและจัดการข้อมูลนั้นตามคำสั่ง (Query Execution) การปฏิบัติตามหลักการนี้ไม่เพียงแต่ช่วยให้องค์กรดำเนินธุรกิจได้อย่างถูกกฎหมายตาม PDPA เท่านั้น แต่ยังช่วยเพิ่มความเชื่อมั่นและความปลอดภัยของข้อมูลส่วนบุคคลในระดับสถาปัตยกรรมระบบด้วย