ป้ายกำกับ: Pdpa

หน้าที่ของผู้ควบคุมข้อมูลส่วนบุคคล (Data Controller) และผู้ประมวลผลข้อมูล (Data Processor)หน้าที่ของผู้ควบคุมข้อมูลส่วนบุคคล (Data Controller) และผู้ประมวลผลข้อมูล (Data Processor)

ในยุคที่ข้อมูลส่วนบุคคล (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 เท่านั้น แต่ยังช่วยเพิ่มความเชื่อมั่นและความปลอดภัยของข้อมูลส่วนบุคคลในระดับสถาปัตยกรรมระบบด้วย