ในยุคที่องค์กรต่างๆ ย้ายโครงสร้างพื้นฐานทางไอทีมาสู่ระบบคลาวด์ การออกแบบสถาปัตยกรรมที่ปลอดภัยจึงไม่ใช่แค่การติดตั้งไฟร์วอลล์ภายนอกเท่านั้น แต่ต้องเป็นการควบคุมการไหลเวียนของข้อมูลและการเข้าถึงทรัพยากรภายในอย่างละเอียดถี่ถ้วน ภารกิจของ Cloud Architect ที่แท้จริงคือการผสานความเข้าใจเชิงลึกทั้งในมิติของการเชื่อมต่อเครือข่าย (Networking) และการจัดการตัวตนและสิทธิ์ (IAM) เพื่อสร้างเกราะป้องกันที่แข็งแกร่งตามหลักการ Zero Trust
หลักการพื้นฐาน: การจำลอง Cloud Security ด้วย PostgreSQL
แม้ว่า Networking และ IAM จะเป็นแนวคิดของ Cloud Platform แต่เราสามารถจำลองหลักการเหล่านี้ได้อย่างแม่นยำในระดับฐานข้อมูลด้วย PostgreSQL โดยใช้ Schema, Roles, และ Permissions เพื่อให้มั่นใจว่าข้อมูลจะถูกแยกส่วนและเข้าถึงได้เฉพาะผู้ที่ได้รับอนุญาตเท่านั้น
1. การแบ่งส่วนเครือข่าย (Segmentation) – จำลองด้วย Schema
ในโลกคลาวด์ เราใช้ VPC และ Subnets เพื่อแยกส่วนการทำงาน (Segmentation) ใน PostgreSQL เราสามารถใช้ Schema เพื่อแยกตารางและข้อมูลที่รับผิดชอบคนละส่วนงานได้ การจำกัดการเข้าถึงข้อมูลแต่ละส่วนนี้คือการป้องกันระดับแรกที่เทียบเท่ากับ Network Firewall
-- สร้าง Schema เพื่อแยกส่วนงาน (เทียบเท่า VPC/Subnet)
CREATE SCHEMA finance_data;-- สร้าง Schema สำหรับข้อมูลการตลาด
CREATE SCHEMA marketing_data;การกำหนด Schema ที่ชัดเจนช่วยให้เราสามารถควบคุมได้ว่าใครสามารถมองเห็นข้อมูลส่วนใดได้บ้าง
2. การจัดการสิทธิ์และการเข้าถึง (IAM & PoLP) - ใช้ Roles
IAM ทำหน้าที่เป็นผู้เฝ้าประตูที่กำหนดว่าใครมีสิทธิ์ทำอะไรกับทรัพยากรใดบ้าง โดยยึดหลักการสิทธิ์ขั้นต่ำสุด (Principle of Least Privilege: PoLP) ใน PostgreSQL เราใช้ Roles เพื่อกำหนดตัวตนและสิทธิ์
-- สร้าง Role สำหรับผู้ใช้งานบัญชี (เทียบเท่า User Account)
CREATE ROLE analyst_role;-- กำหนดสิทธิ์เฉพาะในการ SELECT ข้อมูลใน Schema Finance
GRANT SELECT ON finance_data.* TO analyst_role;-- ห้ามสิทธิ์ในการแก้ไขข้อมูล (จำลองการจำกัดสิทธิ์)
REVOKE INSERT, UPDATE ON finance_data.* FROM analyst_role;โค้ดข้างต้นแสดงให้เห็นว่า Role 'analyst_role' ถูกจำกัดให้ทำได้แค่การอ่านข้อมูล (SELECT) ใน Schema 'finance_data' เท่านั้น และไม่สามารถเขียนข้อมูลใดๆ ได้ ซึ่งเป็นการบังคับใช้ PoLP อย่างสมบูรณ์
บทสรุป: การผสานรวมความปลอดภัย
การออกแบบสถาปัตยกรรมคลาวด์ที่ปลอดภัยจึงต้องเป็นการทำงานร่วมกันระหว่างการแบ่งส่วนเครือข่าย (Schema Separation) และการควบคุมสิทธิ์ (Role-Based Access Control) เสมอ การใช้ PostgreSQL ในลักษณะนี้ไม่เพียงแต่ช่วยเพิ่มความมั่นคงของข้อมูล แต่ยังช่วยให้องค์กรสามารถตรวจสอบและควบคุมการเข้าถึงทรัพยากรได้อย่างละเอียดถี่ถ้วน ทำให้ระบบมีความยืดหยุ่นและปลอดภัยสูงสุดตามมาตรฐานระดับ Senior Architect