3615 คำ
18 นาที
CyberSecurity Foundation EP.16 — Authorization: บัตรนี้เข้าห้องไหนได้บ้าง (RBAC / ABAC / MAC / DAC)
สารบัญ
Authentication vs Authorization — 2 คำถามที่ห้ามสับสน IDOR (Insecure Direct Object Reference) — บั๊กที่ครองอันดับ 1 ของ OWASP Top 10 กับดักคลาสสิคของ SaaS เริ่มต้น — “Login ผ่าน = เข้าได้ทุกอย่าง” RBAC — Role-Based Access Control: แจกสิทธิ์ตามตำแหน่งงาน หัวใจของ RBAC — ผูกสิทธิ์ไว้กับ “ตำแหน่ง” ไม่ใช่กับ “คน” ตัวอย่าง RBAC ในระบบจริง ข้อเสียที่ทุกคนต้องรู้ — Role Explosion ABAC — Attribute-Based Access Control: แจกสิทธิ์ตาม context หัวใจของ ABAC — ตัดสินใจตาม “คุณสมบัติ” ของ subject + object + context ABAC ใช้ที่ไหนจริง Trade-off — ABAC ยืดหยุ่นสุด แต่ debug ยากสุด MAC — Mandatory Access Control: ระบบบังคับ user override ไม่ได้ หัวใจของ MAC — ระบบเป็นคนตัดสิน ไม่ใช่เจ้าของไฟล์ MAC ในระบบ IT จริง Most enterprise ไม่ใช้ MAC แท้ๆ — แต่ใช้ concept ใน Data Classification DAC — Discretionary Access Control: เจ้าของไฟล์แชร์เอง หัวใจของ DAC — เจ้าของไฟล์มีอำนาจตัดสินใจเอง ข้อเสียที่ทำให้ DAC อันตรายในระดับองค์กร — User เผลอแชร์ ข้อเสียที่ใหญ่กว่า — Transitive Sharing บริษัทควรใช้ DAC อย่างไร กฎทอง 3 ข้อของ Authorization + ACL vs Capability กฎที่ 1 — Least Privilege (สิทธิ์น้อยที่สุดที่จำเป็น) กฎที่ 2 — Need-to-Know (รู้เท่าที่จำเป็น) กฎที่ 3 — Separation of Duties (SoD — แยกหน้าที่) เคสจริง — Société Générale 2008 (€4.9B Trader Fraud) Bonus — ACL vs Capability: 2 รูปแบบของการเก็บสิทธิ์ สรุป — ยามรอบ 2 ของทุกประตูในตึก สิ่งที่ผู้นำต้องจำ Tease EP.17 — Admin Account + Zero Trust: EP สุดท้ายของ Part 2

Series: CyberSecurity Foundation — รากฐาน Security สำหรับยุค AI (ภาษาคน)

Part 0 — WHY: เมืองนี้ทำไมต้องมียาม

  1. EP.01 — Cybersecurity คือเรื่องของคุณ
  2. EP.02 — 4 เคสที่เปลี่ยนวงการ
  3. EP.03 — CIA Triad
  4. EP.04 — Defense in Depth + Diversity
  5. EP.05 — Assume Breach + Risk

Part 1 — HOW: ระบบนิเวศของเมือง 6. EP.06 — ระบบนิเวศของโจร 7. EP.07 — ระบบนิเวศของผู้ป้องกัน 8. EP.08 — Framework: ISO/NIST/COBIT/CIS 9. EP.09 — Compliance Theater

Part 2 — Identity: บัตรประชาชน + กุญแจห้อง 10. EP.10 — IAM Lifecycle: เข้า / ย้าย / ออก 11. EP.11 — Authentication: 3 Factors + AAA 12. EP.12 — Password 101: MD5 / bcrypt / Salt / Pepper 13. EP.13 — MFA + Biometric: ที่ดี ที่หลอกได้ — และอนาคตของ Passkey 14. EP.14 — Kerberos: ระบบ check-in โรงแรมที่ Microsoft ใช้ทั่วโลก 15. EP.15 — Federation + SSO: Login with Google คือ passport ดิจิทัล 16. EP.16 — Authorization: บัตรนี้เข้าห้องไหนได้บ้าง (RBAC / ABAC / MAC / DAC) ← คุณอยู่ตรงนี้ 17. EP.17 — PAM + Zero Trust (เร็วๆ นี้)

Part 3-6 (Data / Infrastructure / Operations / Governance) — กำลังเขียนต่อ

ครับ — EP.11-15 (5 EPs ติด) ผมพาคุณไล่ดู Authentication ทุกซอกทุกมุม. 3 factors (EP.11), Password (EP.12), MFA + Biometric (EP.13), Kerberos (EP.14), Federation + SSO (EP.15). ทั้งหมดตอบคำถามเดียวกัน — “คุณคือใคร?”

แต่ในชีวิตจริงของบริษัท — รู้ว่าคนเป็นใครยังไม่พอครับ

ลองนึกฉากครับ — เช้านี้ที่ตึก office ของบริษัทใหญ่. คุณเดินเข้าตึก — ยาม รอบแรก ตรวจบัตรพนักงาน — เห็นรูปเหมือนคุณ — เห็นชื่อ “สมชาย — พนักงานบัญชี” — โอเค คุณคือคุณ. คุณเข้าตึกได้

แต่พอคุณเดินถึงชั้น 12 — มีประตูห้องที่เขียนว่า “ห้อง Server” — คุณลองรูดบัตรเข้า — ไฟกระพริบแดง. ประตูไม่เปิด. ยามเดินมา — ยิ้ม — บอก — “คุณคือสมชายจริงครับ ผมยืนยันได้ — แต่บัตรนี้ไม่มีสิทธิ์เข้าห้อง Server

นั่นคือ 2 คำถามที่แยกกันชัดๆ ที่อยู่บนประตูทุกบานในตึก:

  • คำถามที่ 1 = คุณคือใคร? — ยามรอบแรกตอบไปแล้ว → Authentication (AuthN)
  • คำถามที่ 2 = บัตรนี้เปิดประตูห้องไหนได้บ้าง? — ประตูแต่ละห้องตอบเอง → Authorization (AuthZ)

EP นี้พาคุณดูคำถามที่ 2. ดูเหมือนเรื่องเล็ก — แต่จริงๆ มันคือเรื่องที่กลายเป็นเหตุของ breach อันดับ 1 ในวงการ web มาตั้งแต่ปี 2021 (ทั้ง OWASP Top 10 ปี 2021 มี Broken Access Control อยู่อันดับ 1) — และเป็นเหตุของเคสที่ trader คนเดียวพังธนาคารฝรั่งเศสด้วยเงิน €4.9 พันล้านในปี 2008

เริ่มจากการแยกคำถาม 2 ข้อให้ชัดก่อนครับ

Authentication vs Authorization — 2 คำถามที่ห้ามสับสน#

ภาพในใจง่ายๆ ก่อนเลยครับ:

  • Authentication (AuthN) = ยามรอบแรก — ถาม “คุณคือใคร” — ตรวจบัตร + รูป + MFA
  • Authorization (AuthZ) = ประตูทุกห้อง — ถาม “บัตรนี้เปิดห้องนี้ได้ไหม” — ตรวจสิทธิ์

2 อย่างนี้เป็น คนละเรื่องกันคนละชั้น — แต่ทุกคนสับสนเพราะมันเกิดต่อกันใน 1 วินาทีตอน login

ลองยกตัวอย่างที่จับต้องได้ — Facebook

  • ตอนคุณกรอก username + password + กด login = Authentication (Facebook รู้แล้วว่าคุณคือเจ้าของบัญชี)
  • หลัง login เข้าได้ — คุณเห็น news feed + เห็นโพสต์เพื่อน + เห็นโปรไฟล์ตัวเอง = Authorization อนุญาตให้คุณเห็นของพวกนี้
  • แต่คุณ ไม่เห็น admin panel ของ Facebook — ไม่เห็นข้อมูล user คนอื่น — ไม่เห็น dashboard ของ Mark Zuckerberg = Authorization บล็อก เอาไว้

ผ่าน AuthN แล้ว ไม่ได้แปลว่าผ่าน AuthZ ทุกที่. นี่คือจุดที่ทำให้เกิดบั๊กระดับวงการที่ชื่อว่า — IDOR

IDOR (Insecure Direct Object Reference) — บั๊กที่ครองอันดับ 1 ของ OWASP Top 10#

IDOR = บั๊กที่ system ตรวจแค่ AuthN — ไม่ตรวจ AuthZ ตอนคน access ข้อมูล

ตัวอย่างที่หลายคนเคยเจอครับ. ลองนึกเว็บไหนสักเว็บที่คุณเข้าดูใบเสร็จของตัวเอง — URL หน้านี้น่าจะหน้าตาประมาณ:

https://shop.example.com/invoice/12345

12345 = เลขใบเสร็จของคุณ. ทีนี้ — ลองเปลี่ยน URL เป็น:

https://shop.example.com/invoice/12346

แล้วระบบ — ก็โชว์ใบเสร็จของคนอื่นให้คุณดู — เห็นชื่อ — เห็นที่อยู่ — เห็นเลขบัตรเครดิต (4 ตัวท้าย) — เห็นรายการสินค้า

นี่คือ IDOR. ระบบรู้ว่า “คุณคือสมชาย” (AuthN ผ่าน) — แต่ไม่ได้ตรวจว่า “ใบเสร็จเลข 12346 เป็นของสมชายหรือเปล่า” (AuthZ ไม่ทำ). developer คิดเอาเองว่า — ถ้าคุณ login แล้ว = คุณคงจะเห็นใบเสร็จของตัวเองเท่านั้น. ผิด. คุณเปลี่ยน URL ได้ตามใจ

นี่คือเหตุผลที่ OWASP Top 10 ปี 2021 จัด Broken Access Control ขึ้นเป็น อันดับ 1 ของ vulnerability ใน web application — แซง SQL Injection ที่ครองอันดับ 1 มาเป็น 10 กว่าปี. ในรายงาน OWASP ปี 2021 — 94% ของ application ที่ทดสอบ เจอ Broken Access Control อย่างน้อย 1 จุด

มุมผู้บริหาร: ถ้าบริษัทคุณมี web application ที่จัดการข้อมูลลูกค้า / ข้อมูลภายใน — ขอ pen test ที่ enumerate Broken Access Control เป็นพิเศษ. อย่ายอมรับรายงาน pen test ที่บอกว่า “ผ่าน” โดยที่ไม่มี section ทดสอบ IDOR + AuthZ logic — เพราะ scanner อัตโนมัติส่วนใหญ่จับ IDOR ไม่ได้ (มันต้องเทสด้วย logic ของคน). pattern ของวงการคือ — บริษัทคิดว่า “เรามี login = ปลอดภัย” → 2 ปีต่อมาเจอข้อมูลลูกค้าหลุดเพราะ IDOR

กับดักคลาสสิคของ SaaS เริ่มต้น — “Login ผ่าน = เข้าได้ทุกอย่าง”#

นี่คือ pattern ที่บริษัท SaaS เริ่มต้นตกบ่อยที่สุดครับ. ตอน MVP เพิ่งสร้าง — developer คิดว่า — “ขอแค่มี login ก่อน. AuthZ เอาไว้ทำทีหลัง”. MVP ออก market — ลูกค้าเพิ่ม — ทีม dev เพิ่ม feature ใหม่เรื่อยๆ — ลืมกลับมาทำ AuthZ

วันหนึ่ง ลูกค้าคนหนึ่งของ SaaS นั้น — เผลอเห็นข้อมูลของลูกค้าอีกคน เพราะแก้ URL — ข่าวออก — บริษัท SaaS โดน churn + ถูกปรับ PDPA

วิธีแก้ — AuthZ ต้องอยู่ใน design ตั้งแต่วันแรก ไม่ใช่ทำทีหลัง. ทุก endpoint ของ API ต้องถามคำถามนี้: “user ที่ login อยู่ มีสิทธิ์ access object นี้หรือเปล่า?”. ไม่ใช่แค่ “login แล้ว = ผ่าน”

RBAC — Role-Based Access Control: แจกสิทธิ์ตามตำแหน่งงาน#

ทีนี้มาดู model แรกของการแจกสิทธิ์ครับ — model ที่ 99% ของบริษัทไทยใช้กันRBAC (Role-Based Access Control)

หัวใจของ RBAC — ผูกสิทธิ์ไว้กับ “ตำแหน่ง” ไม่ใช่กับ “คน”#

ลองนึกบริษัทที่คุณรู้จัก — มี HR / Sales / Finance / Engineering / Admin. ใน RBAC — เราไม่ได้คิดในมุม “สมชายมีสิทธิ์ทำอะไรบ้าง”. เราคิดในมุม:

  • ตำแหน่ง “พนักงานบัญชี” ทำอะไรได้บ้าง? → เปิดดูใบ Invoice, สร้าง Journal Entry, ปิดงบเดือน
  • ตำแหน่ง “Sales Manager” ทำอะไรได้บ้าง? → ดู pipeline ของทีม, อนุมัติส่วนลด ≤ 10%, ดู commission report
  • ตำแหน่ง “Sales Rep” ทำอะไรได้บ้าง? → ดู pipeline ของตัวเองเท่านั้น, ขอส่วนลด, ส่ง quotation

แล้วค่อย ใส่คนเข้า role — สมชายเป็น “พนักงานบัญชี” → สมชายได้สิทธิ์ของ role นั้นทั้งชุด

ทำไมการคิดแบบนี้ถึงดี? — เพราะมัน scale ได้

ลองนึก — บริษัท 5,000 คน. ถ้าจัดการสิทธิ์แบบ “ผูกกับคนทีละคน” — คุณต้อง config สิทธิ์ 5,000 ชุดที่ต่างกัน. ทีม HR เพิ่มคนใหม่ทุกเดือน — ต้องสร้างสิทธิ์ใหม่ทุกครั้ง

แต่ถ้าใช้ RBAC — คุณมีแค่ 30 role (สมมุติ) สำหรับทั้งบริษัท. คนใหม่เข้า — ใส่เข้า role ที่ตรงตำแหน่ง — จบ. คนย้ายแผนก — เปลี่ยน role — สิทธิ์เปลี่ยนทั้งชุดอัตโนมัติ. คนลาออก — เอาออกจาก role — access หายทันที

ตัวอย่าง RBAC ในระบบจริง#

  • AWS IAM — ทุก service ของ AWS ใช้ RBAC. คุณสร้าง role “ReadOnlyAnalyst” — ใส่ policy “อ่าน S3 + อ่าน DynamoDB ได้” — แล้วใส่พนักงาน data analyst เข้า role นั้น
  • Azure RBAC — เหมือนกัน. มี built-in role เช่น “Reader”, “Contributor”, “Owner” — บริษัทเอาไปใช้ได้เลย
  • Salesforce — มี role hierarchy ที่ออกแบบสำหรับ sales org. CEO อยู่บนสุด → VP → Manager → Rep
  • Google Workspace — มี admin role ที่แยก: Super Admin, User Management Admin, Help Desk Admin

ข้อเสียที่ทุกคนต้องรู้ — Role Explosion#

RBAC ดี — แต่มี achilles heel ที่ pattern คลาสสิคของวงการเรียกว่า “Role Explosion”

ลองนึก — บริษัทเริ่มจาก 5 role: Sales / Finance / HR / Engineering / Admin. ดูเหมือนพอเพียง

แต่ทีนี้ — มีพนักงานคนหนึ่งทำ “Sales แต่ดูข้อมูล Finance ของลูกค้าตัวเองได้”. ออกแบบยังไง? — สร้าง role ใหม่ — “Sales-WithFinanceView

แล้วก็มีอีกคน — “Sales แต่ดู Finance ได้เฉพาะ region เอเชีย” — สร้างอีก role — “Sales-WithFinanceView-AsiaOnly

อีกคน — “Sales แต่ใน project พิเศษ มีสิทธิ์ approve discount ถึง 30%” — สร้างอีก role

ปีหนึ่งต่อมา — บริษัทที่เริ่มจาก 5 role — มี 400 role. ทีม IT ไม่รู้ว่าแต่ละ role ทำอะไรได้บ้าง. รายชื่อ role ของบริษัทใหญ่ขึ้นเป็น Excel sheet 400 บรรทัด — ไม่มีใครกล้าลบ — เพราะกลัวจะหัก work flow ของพนักงาน

นี่คือ Role Explosion — RBAC ที่บวมจนจัดการไม่ได้. เป็น pattern ที่บริษัทไทยขนาดกลาง-ใหญ่ติดบ่อยมาก. แก้ยากมากเพราะมัน slow rot — สะสมทีละ role ตามคำขอ ad-hoc — ไม่มีใครรู้สึก “ไม่ดี” จนกระทั่งมันเป็น 400

วิธีป้องกัน Role Explosion:

  • ตั้งกฎ — role ใหม่ต้องได้รับ approve จาก role committee (รวม IT + Security + Business). ไม่ใช่ใครอยากได้สิทธิ์พิเศษก็ขอ role ใหม่ได้
  • review role audit รายปี — role ที่ไม่มีคนอยู่ใน 6 เดือน = ลบ. role ที่ permission overlap กับ role อื่น = รวม
  • คิดเป็น ABAC แทน (หัวข้อถัดไป) — ถ้า requirement เริ่มซับซ้อน เกินที่ role จะ handle ได้

มุมผู้บริหาร: ลองขอ list ของ role ในบริษัทคุณจากทีม IT. ถ้าตัวเลขมากกว่า 50 role สำหรับบริษัทขนาด 500 คน = คุณมี Role Explosion. ROI ของการ คลีน role = สูงมาก — เพราะ role ที่ลึกลับ + permission ที่ไม่มีใครรู้ที่มา = หลุมที่ insider threat ใช้ซ่อนตัว. เคสที่เจอได้ทั่วไป — ลาออกไปแล้ว แต่ยังมี role พิเศษค้างอยู่ — ใช้ตัวระบบ login ไม่ได้ แต่มี service account ที่ผูกกับ role ยังทำงานอยู่

ABAC — Attribute-Based Access Control: แจกสิทธิ์ตาม context#

ABAC คือ model ที่เกิดขึ้นเพราะ RBAC ไม่ตอบโจทย์ได้ทุกกรณี. มันยืดหยุ่นกว่า — แต่ก็ซับซ้อนกว่ามาก. ผมขอใช้ภาพประกอบครับ

หัวใจของ ABAC — ตัดสินใจตาม “คุณสมบัติ” ของ subject + object + context#

ลองนึกฉาก — ผู้บริหารคนหนึ่งบอกทีม IT:

ผมอยากให้พนักงาน Finance department — ที่อยู่ในประเทศไทย — ใช้ corporate laptop — ระหว่างเวลา 9 โมงเช้า ถึง 6 โมงเย็น — เท่านั้น — เข้า payroll system ได้

ใน RBAC — คุณทำยังไง? — ต้องสร้าง role ที่ encode ทั้งหมดนี้: “Finance-Thai-OfficeHours-CorpDevice” — แล้วค่อยใส่คนเข้า

แต่ในเดือนหน้า ผู้บริหารบอกว่า — “ยกเว้นช่วงปลายเดือนที่ payroll ต้องปิดงบ — อนุญาตให้เข้านอกเวลาทำการได้”. คุณต้องสร้าง role อีกตัว — “Finance-Thai-PayrollClose-AnyHours-CorpDevice

อีก 3 เดือนต่อมา ผู้บริหารบอกว่า — “ที่ปรึกษาภายนอกที่ NDA แล้ว — ขอเข้าได้บางช่วงด้วย”. คุณสร้าง role อีก. Role Explosion เริ่มเกิด

นี่คือจุดที่ ABAC เข้ามา. ใน ABAC — คุณไม่เขียน role ตายตัว — คุณเขียน policy ที่อ่านได้เหมือนประโยคของคน:

ALLOW access to payroll_system IF:
user.department = "Finance"
AND user.country = "Thailand"
AND device.type = "corporate-managed"
AND current_time BETWEEN 09:00 AND 18:00
AND user.country = device.country (anti-spoofing — ห้าม IP ไม่ตรงสัญชาติ)

ทุก attribute ในประโยคนี้ — เรียกว่า attribute. มันมาจาก 3 ฝั่ง:

  • Subject attribute = ของคนที่ขอเข้า — department, country, role, clearance level
  • Object attribute = ของสิ่งที่ขอเข้า — data classification, owner, sensitivity tier
  • Context attribute = สภาพแวดล้อม — เวลา, IP address, device type, location, network

ABAC policy = เอา attribute พวกนี้มาเขียน rule ที่อ่านได้

ABAC ใช้ที่ไหนจริง#

  • AWS IAM Conditions — IAM ของ AWS ใช้ ABAC ผสม RBAC. คุณเขียน policy ได้ว่า “allow s3 IF aws = 10.0.0.0/8 AND aws < 2026-12-31
  • Azure Conditional Access — ของ Microsoft Entra ID — ตั้ง rule ได้เป็น “ถ้า user อยู่นอกประเทศ + ใช้ device ที่ไม่ใช่ corporate = ต้อง MFA + จำกัด session 1 ชั่วโมง
  • Zero Trust Architecture — แทบทุก zero trust framework (BeyondCorp ของ Google, NIST 800-207) — ใช้ ABAC เป็นแกน — เพราะ zero trust ต้องประเมินทุก request ตาม context ตลอดเวลา ไม่ใช่แค่ “role อะไร”

Trade-off — ABAC ยืดหยุ่นสุด แต่ debug ยากสุด#

ข้อดี ABAC:

  • ยืดหยุ่นสูงสุด — เขียน rule อะไรก็ได้ตาม attribute
  • ลด Role Explosion — แทนที่จะมี 400 role ก็มี 30 policy ที่ครอบคลุมทุก case
  • Context-aware — policy เปลี่ยนตาม situation (เวลา / สถานที่ / device) — ไม่ใช่ static

ข้อเสีย ABAC:

  • เขียน policy ยาก — ต้องคิดเป็น logic. มี edge case เยอะ
  • Debug ยาก — พนักงาน complain “ทำไมผมเข้าไม่ได้?” — ต้องไล่ดู attribute ของ user + device + context — เทียบกับ policy — หา rule ที่ blocking
  • ต้องการ infrastructure — ต้องมี PDP (Policy Decision Point) + PEP (Policy Enforcement Point) + ระบบ collect attribute ตลอดเวลา. แพง + ซับซ้อน
  • performance — ทุก request ต้อง evaluate policy ใหม่. cache ยาก

ในวงการ — บริษัทส่วนใหญ่ใช้ RBAC เป็นหลัก + เพิ่ม ABAC เฉพาะจุด ที่ต้องการ context-awareness (เช่น login จากต่างประเทศ = ต้อง MFA เพิ่ม). น้อยบริษัทที่ใช้ ABAC อย่างเดียวทั้งระบบ — เพราะ overhead สูง

มุมผู้บริหาร: บริษัทไทยขนาดกลางที่ยังไม่มี ABAC = ไม่ผิด. เริ่มจาก RBAC ที่สะอาด (ไม่มี Role Explosion) + เปิด Conditional Access ของ Microsoft Entra ID หรือ Google Workspace (เป็น ABAC สำเร็จรูป) — ครอบคลุม use case 80%. ABAC แบบเต็มๆ ทั้งระบบ = เก็บไว้เมื่อบริษัทใหญ่ระดับ enterprise + ทีม security มี maturity เพียงพอที่จะดูแล policy. อย่ากระโดดไป ABAC โดยไม่จัด RBAC ให้สะอาดก่อน — มันจะกลายเป็น policy chaos ที่ debug ไม่ออก

MAC — Mandatory Access Control: ระบบบังคับ user override ไม่ได้#

มาที่ model ที่ stricter ที่สุด ครับ — MAC (Mandatory Access Control). ชื่อก็บอกอยู่แล้ว — Mandatory = บังคับ — user override ไม่ได้

หัวใจของ MAC — ระบบเป็นคนตัดสิน ไม่ใช่เจ้าของไฟล์#

ใน RBAC / ABAC ที่เราเพิ่งดู — admin เป็นคน config policy. แต่ policy ที่กำหนดแล้ว — user ปกติ override ได้บางที (เช่น “พนักงานนี้แชร์ doc ของตัวเองให้คนนอก” — admin อาจอนุญาต)

ใน MACทุกคนใน system รวมทั้ง admin — ต้องเชื่อ system. ไม่มีใคร override ได้

ใช้ภาพทหารครับ — ระบบความลับของกองทัพ — แบ่งระดับ:

  • Unclassified (ไม่ลับ — ใครก็เห็นได้)
  • Confidential (ลับ — ระดับต่ำ)
  • Secret (ลับมาก)
  • Top Secret (ลับสุดยอด)

ทหารแต่ละคน — มี clearance level ของตัวเอง (เช่น Secret-cleared). กฎ MAC ของกองทัพ:

  • No Read Up — ทหารระดับ Secret — อ่าน Top Secret ไม่ได้. ระบบบล็อก. แม้นายพล Top Secret จะอยากให้ก็ตาม — ต้องผ่านกระบวนการ re-clearance ของหน่วยข่าวกรอง
  • No Write Down — ทหารระดับ Top Secret — เขียนข้อมูลลงในไฟล์ระดับ Confidential ไม่ได้. ป้องกัน “leak by mistake” — เผลอเอาข้อมูลลับลงไฟล์ที่คนอื่นเห็นได้

นี่คือ Bell-LaPadula model — รากของ MAC. ในวงการ security ยังใช้สอน CISSP / CISA ทุกวันนี้

MAC ในระบบ IT จริง#

  • SELinux (Security-Enhanced Linux) — Linux distribution ที่มี MAC built-in. ใช้กันใน Red Hat Enterprise Linux. process แต่ละตัวมี security context — ระบบบังคับว่า process A เข้าถึงไฟล์ B ได้หรือไม่ — โดยที่ root override ไม่ได้ (เพราะ SELinux อยู่เหนือ root)
  • AppArmor — เหมือน SELinux แต่ใน Ubuntu / Debian. profile-based MAC
  • Trusted Solaris — old-school Unix variant ของ Sun Microsystems ที่ใช้ในงาน government / military
  • iOS / Android sandboxing — app บนมือถือถูกบังคับให้อยู่ใน sandbox ของตัวเอง — เข้าไฟล์ของ app อื่นไม่ได้ — แม้ user อยากให้ก็ตาม (จนกว่าจะ jailbreak) — นี่คือ MAC ระดับ OS

Most enterprise ไม่ใช้ MAC แท้ๆ — แต่ใช้ concept ใน Data Classification#

นี่คือจุดที่หลายคนสับสน. บริษัทไทยทั่วไปไม่ได้ deploy SELinux. แต่ — concept ของ MAC อยู่ในทุกบริษัทที่มี data classification policy:

  • Public — ข้อมูลที่ปล่อยให้สาธารณะรู้ได้ (marketing material, ข่าวประชาสัมพันธ์)
  • Internal — ข้อมูลภายในที่พนักงานเห็นได้ทั้งหมด (employee handbook)
  • Confidential — ข้อมูลที่จำกัดบางแผนก (financial report ก่อนประกาศ, contract กับ vendor)
  • Restricted — ข้อมูลความลับสูงสุด (เงินเดือนพนักงาน, key encryption, ข้อมูลลูกค้าที่เป็น PII)

แต่ละ tier — มี handling rule. พนักงานทั่วไปไม่มีสิทธิ์ override — เช่น พนักงานเอา doc ที่เป็น Confidential ไปส่งใน email ส่วนตัว = ระบบ DLP (Data Loss Prevention) บล็อก. นี่คือ MAC-style enforcement แม้จะไม่ใช่ MAC แท้ทาง technical

มุมผู้บริหาร: บริษัทคุณมี data classification policy หรือยัง? — 4 tier ก็พอ (Public / Internal / Confidential / Restricted). ทุกไฟล์ที่ company สร้าง — ต้องมี tag tier นี้. ทุก SaaS ของบริษัทที่จัดการข้อมูลลูกค้า — ต้องบังคับ tag. ROI สูงมาก — เพราะวันที่มี data breach — ทุก investigator + ทุก regulator จะถามว่า “ข้อมูลที่หลุดเป็นระดับไหน”. ถ้าตอบไม่ได้ = บริษัทคุณจะถูกประเมินว่า ไม่ได้ทำ data governance — penalty หนักกว่า

DAC — Discretionary Access Control: เจ้าของไฟล์แชร์เอง#

มาที่ model ที่ คุณใช้ทุกวันโดยที่ไม่รู้ตัว ครับ — DAC (Discretionary Access Control)

หัวใจของ DAC — เจ้าของไฟล์มีอำนาจตัดสินใจเอง#

Discretionary = ใช้ดุลยพินิจ. ในระบบ DAC — เจ้าของไฟล์ตัดสินใจเองว่าใครเข้าถึงไฟล์นั้นได้บ้าง

ตัวอย่างที่ทุกคนใช้ทุกวัน:

  • Google Drive — คุณสร้างไฟล์ Google Docs — กดปุ่ม Share — เลือก “เพิ่มคน” + ใส่ email — เลือกสิทธิ์ (Viewer / Commenter / Editor) — ส่ง. ระบบไม่เคยถามคุณว่า “ไฟล์นี้ classification อะไร” — คุณเป็นเจ้าของ คุณตัดสินใจเอง
  • Windows NTFS — คลิกขวาที่ไฟล์ → Properties → Security tab → เพิ่ม user — กำหนด permission (Read / Write / Modify / Full Control). เจ้าของไฟล์ตัดสินใจ
  • Linux File Permissionschmod 755 file.txt — เจ้าของกำหนด rwx ของตัวเอง / group / other
  • Slack channel — เจ้าของ channel เลือกว่าใครเข้าได้บ้าง

DAC คือ default ของ consumer + productivity software ทั่วโลก. ทำไม? — เพราะมัน flex สำหรับ user. user มีอำนาจ — share ใครก็ได้

ข้อเสียที่ทำให้ DAC อันตรายในระดับองค์กร — User เผลอแชร์#

ลองนึก pattern คลาสสิคของวงการ ที่ขึ้นข่าวบ่อยมาก:

  • พนักงานบริษัทคนหนึ่ง — สร้าง Google Sheet — มีรายชื่อลูกค้า + เบอร์โทร + ยอดซื้อ
  • ต้องส่งให้เพื่อนภายในแผนกดู — กดปุ่ม Share → เลือก “Anyone with the link” → copy link → ส่ง chat — เร็วและสะดวก
  • ไม่กี่เดือนต่อมา — link ของ sheet นั้น ถูก search engine index — มี crawler เก็บไป — กลายเป็นผลลัพธ์ที่ search ใน Google เจอ
  • ข้อมูลลูกค้าของบริษัทหลุดเข้าไปอยู่ใน Google Search

นี่คือ pattern ที่ขึ้นข่าวไม่ต่ำกว่า 10 ครั้งใน 5 ปีที่ผ่านมาในต่างประเทศ — และเป็น pattern ที่บริษัทไทยติดบ่อยมาก (แต่ไม่ค่อยขึ้นข่าว เพราะบริษัทไทยไม่ค่อย disclosure). หลายครั้งเป็น Google Drive ที่ตั้งเป็น “anyone with link” ของ folder ที่มีรายชื่อพนักงาน + เงินเดือน

ข้อเสียที่ใหญ่กว่า — Transitive Sharing#

มีปัญหาที่ลึกกว่าครับ. ในระบบ DAC — ถ้าคุณ share ไฟล์ให้ใครได้ คนนั้นอาจ share ต่อให้คนอื่นได้

  • คุณ share Google Sheet ให้สมหญิง (Editor)
  • สมหญิงเปิดสิทธิ์ Share ของไฟล์ที่คุณสร้าง — เพิ่มสมชาย (Editor)
  • สมชายเพิ่มคนนอกบริษัท

ไฟล์ที่ คุณเป็นเจ้าของ — ตอนนี้คนนอกบริษัทเห็น — คุณไม่รู้ตัว

นี่คือ transitive sharing problem ของ DAC. Google ทำให้แก้ได้ผ่าน “สิทธิ์ในการ share” ที่ตั้งได้ — แต่ default ของส่วนใหญ่ของ tier ใหม่คือ เปิด share ได้ — เพื่อให้ user สะดวก

บริษัทควรใช้ DAC อย่างไร#

  • อย่าใช้ DAC ทั้งบริษัทโดยไม่มี control — บังคับให้ Google Workspace / Microsoft 365 มี sharing policy ระดับ organization (เช่น “ไฟล์ที่มี tag Confidential ห้าม share ออกนอก domain”)
  • ใช้ DLP รุ่นใหม่ที่อ่าน content — บางระบบ scan content ของไฟล์ — เจอ pattern PII (เลขบัตรประชาชน / เลขบัตรเครดิต) = บล็อก share อัตโนมัติ
  • review sharing audit log รายสัปดาห์ — ใครแชร์อะไรออกนอกบริษัทบ้าง
  • education — ฝึกพนักงานให้รู้ว่า “Anyone with link” = สาธารณะ — ไม่ใช่ “เฉพาะคนที่ฉันส่ง link ให้”

มุมผู้บริหาร: ลองทำ exercise ง่ายๆ ในบริษัทคุณ — ขอ list ของ Google Drive ที่ public หรือ “Anyone with link” ในทั้ง organization. ถ้าบริษัทคุณใช้ Google Workspace — มี Drive audit log ที่ทำได้. ส่วนใหญ่ของบริษัทไทย — ตัวเลขจะตกใจ — เพราะพนักงานทำ ad-hoc ไปเรื่อย โดยไม่มี policy ว่าด้วยการ share. ROI ของ exercise นี้สูงมาก — เพราะตัวเลขที่เห็น = risk ของ data breach แบบเงียบๆ ที่บริษัทไม่รู้ว่ามี

กฎทอง 3 ข้อของ Authorization + ACL vs Capability#

ทุก model — RBAC / ABAC / MAC / DAC — เป็น เครื่องมือ. แต่เครื่องมือทุกตัวต้องเดินตาม หลักการ เดียวกัน. มี 3 หลักการที่เป็นกฎทองของวงการ authorization — และ developer ทุกคนต้องท่องให้ขึ้นใจ

กฎที่ 1 — Least Privilege (สิทธิ์น้อยที่สุดที่จำเป็น)#

ทุก user, ทุก process, ทุก service — ได้รับสิทธิ์เฉพาะที่จำเป็นในการทำงาน — ไม่เกินกว่านั้น

ตัวอย่างชีวิตจริง:

  • service account ของ web app ที่ access database — ควรได้สิทธิ์ SELECT + INSERT + UPDATE เฉพาะ table ที่ใช้ — ไม่ใช่ DROP TABLE หรือ Admin
  • พนักงาน HR — มี access แค่ระบบ HR — ไม่ควรมี access ระบบบัญชี / engineering
  • CEO — แม้จะเป็นคนใหญ่สุด — ไม่ได้แปลว่าต้องมี admin ของระบบ IT. CEO ดู report, สั่งการได้ — แต่ admin access ของ system ควรอยู่กับ IT เท่านั้น (ลด attack surface)

ทำไมสำคัญ? — เพราะถ้า account นั้นถูก compromise — damage ถูกจำกัดที่สิทธิ์ที่มี. CEO account ที่มีสิทธิ์ทั่วบริษัท ถูก phish = end of game. CEO account ที่มีแค่ “ดู report” = damage จำกัด

กฎที่ 2 — Need-to-Know (รู้เท่าที่จำเป็น)#

user เห็นข้อมูลเฉพาะที่ต้องใช้ในงาน — ไม่ใช่ทั้งหมดที่มีในระบบ

ความต่างกับ Least Privilege:

  • Least Privilege = สิทธิ์ในการ “ทำ” (action) — read / write / delete
  • Need-to-Know = สิทธิ์ในการ “เห็น” (visibility) — เห็นข้อมูลของใครบ้าง

ตัวอย่าง:

  • Sales Rep ดู pipeline ได้ — แต่เห็นเฉพาะลูกค้าของตัวเอง — ไม่ใช่ของ Sales Rep ทุกคนในบริษัท
  • HR ของ region เอเชีย — เห็นข้อมูลพนักงานของ region เอเชีย — ไม่ใช่ของ region อเมริกา
  • Customer support — เห็น ticket ของลูกค้าที่ตัวเองดูแล — เห็นชื่อ + เบอร์ — แต่ไม่เห็น credit card หรือ password

กฎที่ 3 — Separation of Duties (SoD — แยกหน้าที่)#

งานสำคัญงานเดียว ต้องการคน ≥ 2 คน approve. ป้องกันคน 1 คนทำผิดคนเดียว

ตัวอย่างคลาสสิคที่ใช้สอน CISA:

  • คนสร้าง vendor ในระบบ ≠ คนอนุมัติจ่ายเงินให้ vendor — ถ้าคนเดียวทำทั้ง 2 = สร้าง vendor ปลอม + อนุมัติเงินให้ตัวเอง
  • คนสั่ง trade ≠ คนยืนยัน trade ≠ คนทำ settlement — ใน trading desk แยก front office / middle office / back office
  • developer ที่เขียน code ≠ คน deploy code ขึ้น production — เพราะ developer ที่มีสิทธิ์ deploy = ใส่ backdoor ได้ในชื่อตัวเอง

เคสจริง — Société Générale 2008 (€4.9B Trader Fraud)#

นี่คือเคสที่ใช้สอน SoD ในทุกห้องเรียน CISA / CISSP ทั่วโลกครับ. มันคือบทเรียนว่า ถ้า Separation of Duties พัง — แม้แบงค์ระดับโลกก็ล้มได้

มกราคม 2008 — Société Générale ธนาคารใหญ่อันดับ 2 ของฝรั่งเศส — ประกาศขาดทุน €4.9 พันล้านยูโร (ราว 240,000 ล้านบาทในตอนนั้น) จากการ trade ของ trader คนเดียว — ชื่อ Jérôme Kerviel

Kerviel ทำงานที่ Société Générale ตั้งแต่ปี 2000:

  • ปี 2000-2005 — เริ่มต้นที่ back office — งานยืนยัน trade + reconcile + ทำ settlement
  • ปี 2005 — ย้ายไป front office — เป็น trader ที่ Delta One desk — trade futures index ของยุโรป

จุดที่พลาด — Société Générale อนุญาตให้ Kerviel ย้ายจาก back office ไป front office โดยที่เขายังรู้วิธีทำงานของ back office. เขามี knowledge ที่ครอบทั้ง 2 บทบาท — บทบาทที่หลักการ SoD บอกว่า “คนเดียวต้องไม่รู้ทั้งคู่”

ด้วย knowledge นี้ — Kerviel:

  • ทำ trade จริง = position ใหญ่ขนาด €50 พันล้าน (มากกว่า market cap ของ Société Générale ทั้งบริษัทตอนนั้น)
  • เพื่อปกปิด — สร้าง trade ปลอมในระบบ back office ที่ offset position จริงๆ — ทำให้ middle office มองว่าบริษัทไม่มี risk
  • รู้ตารางเวลาของ reconciliation = ปลอม trade ที่จะหายไปก่อน reconcile + สร้างใหม่หลัง reconcile
  • ปลอมเอกสาร confirmation ของ counterparty
  • ทำแบบนี้ตั้งแต่ปี 2005-2008 — ปลอม trade รวมๆ มูลค่าหลายพันล้าน — โดยที่ระบบ control ของ Société Générale ไม่จับ

ตอนกระแสตลาดในมกราคม 2008 — position จริงที่ Kerviel สร้างไว้ — ขาดทุน. Société Générale ต้อง unwind position ในตลาดที่กำลังตก = ขาดทุน €4.9B ภายในไม่กี่วัน

บทเรียน — Société Générale มี risk control + audit + 4 eyes principle ครบ — แต่ทุกตัวพัง เพราะ Kerviel มี knowledge ของทั้ง front office และ back office — เขารู้ว่า audit จะดูตรงไหน + เลี่ยงตรงไหนได้. SoD ที่ทำให้คน 1 คน ไม่มีทางถือ 2 บทบาทขัดกัน = control พื้นฐานที่ป้องกันเรื่องแบบนี้ได้

หลังเคสนี้ — ทุกธนาคารทั่วโลก revisit SoD ของ trader floor. มาตรฐาน Basel III เพิ่ม requirement ให้ trader ที่ย้ายจาก back office ต้อง cooling-off period 2 ปี ก่อนเริ่ม trade — และ access ของ back office system ต้องถูกตัดทันทีที่ย้าย

มุมผู้บริหาร: SoD เป็น control ที่ ราคาถูก + ROI สูงสุด ในงาน fraud prevention. ไม่ต้องลงทุน technology อะไรเลย — แค่ออกแบบ workflow ให้ critical task ต้องมี ≥ 2 คน approve. ลองตรวจในบริษัทคุณ — มี process ไหนที่คน 1 คน สร้าง + อนุมัติ + จ่าย ได้คนเดียวไหม? — ถ้ามี = เป็น ช่องโหว่ที่ใหญ่ที่สุด. แก้ได้ในวันเดียวด้วยการเปลี่ยน workflow

Bonus — ACL vs Capability: 2 รูปแบบของการเก็บสิทธิ์#

มาดู technical detail ปิดท้ายครับ. เวลา system เก็บข้อมูลว่า “ใครเข้าอะไรได้บ้าง” — มี 2 รูปแบบ:

ACL (Access Control List) — รายชื่อติดที่ของ#

ACL = “ของชิ้นนี้ ใครเข้าได้บ้าง” — list ติดไว้ที่ของ

ภาพในใจ — ป้ายติดหน้าห้อง ที่เขียนว่า:

ห้องเก็บเงิน — เฉพาะคนเหล่านี้เท่านั้น:
- คุณ A (อ่าน + เขียน)
- คุณ B (อ่าน)
- คุณ C (อ่าน + เขียน + ลบ)

ทุกครั้งที่ใครจะเข้าห้อง — ดูที่ป้ายหน้าห้อง — เช็คชื่อ — มีก็เข้าได้ ไม่มีก็ block

ตัวอย่างจริง: Windows NTFS, Linux file permissions, AWS S3 bucket policy

ข้อดี — เห็นชัดว่า “ของชิ้นนี้ ใครเข้าได้บ้าง” (ดู ACL ของของชิ้นนั้น) ข้อเสีย — เปลี่ยน permission ของ user 1 คน = ต้องไป update ACL ของ object ทุกชิ้น (เช่น ถ้า user ลาออก = ลบชื่อจาก ACL ของไฟล์ 10,000 ไฟล์)

Capability — บัตรติดที่ user#

Capability = “user คนนี้ มีบัตรเข้าอะไรได้บ้าง” — list ติดไว้ที่ user

ภาพในใจ — บัตรพนักงาน ที่ฝัง chip ไว้ว่า:

คุณ A — บัตรนี้เข้าได้:
- ห้องเก็บเงิน (อ่าน + เขียน)
- ห้อง server (อ่าน)
- ห้องเอกสาร (อ่าน + เขียน + ลบ)

ทุกครั้งที่คุณ A จะเข้าห้องไหน — ระบบอ่านจากบัตรของคุณ A

ตัวอย่างจริง: JWT (จาก EP.15) — token มี claim บอกว่า user คนนี้ access อะไรได้บ้าง — เป็น capability ของ user, Kerberos service ticket, OAuth scope

ข้อดี — เห็นชัดว่า “user คนนี้ ทำอะไรได้บ้าง” (ดู capability ของ user คนนั้น). ถ้า user ลาออก = revoke capability ของ user ครั้งเดียว = ตัดได้ทุกระบบ ข้อเสีย — ดูยากว่า “ของชิ้นนี้ ใครเข้าได้บ้าง” — ต้อง scan capability ของ user ทุกคน

ใช้อะไรเมื่อ#

ในวงการจริง — ใช้ทั้งสอง:

  • File system / enterprise app — ใช้ ACL เป็นหลัก (Windows, Linux, AWS S3)
  • Token-based / cloud-native — ใช้ Capability เป็นหลัก (JWT, OAuth, Kerberos)

เลือกตาม use case. ระบบใหญ่ๆ ใช้ mix — ACL ที่ object level + Capability ที่ user level — เพื่อให้ revoke ได้ทั้งสองทิศ

สรุป — ยามรอบ 2 ของทุกประตูในตึก#

ครับ — EP.16 จบที่นี่ คุณได้เห็นภาพแล้วว่า Authorization = ยามรอบ 2 ที่ตอบคำถาม “บัตรนี้เปิดประตูไหนได้บ้าง”. มันคนละเรื่องกับ Authentication (ยามรอบ 1 — “คุณคือใคร”) — และการสับสนระหว่าง 2 อย่างนี้คือเหตุที่ทำให้ Broken Access Control ครองอันดับ 1 ของ OWASP Top 10 ตั้งแต่ปี 2021

4 รูปแบบของการแจกสิทธิ์ที่ครองวงการ:

  • RBAC = แจกตามตำแหน่งงาน — เรียบง่าย + scale ได้ + แต่ติด Role Explosion ถ้าไม่ดูแล
  • ABAC = แจกตาม attribute + context — ยืดหยุ่นสุด + แต่ debug ยาก + ต้องการ infrastructure
  • MAC = ระบบบังคับ — ทหาร / รัฐบาล / SELinux. enterprise ทั่วไปใช้ concept ใน data classification
  • DAC = เจ้าของแชร์เอง — Google Drive / NTFS / Linux. ยืดหยุ่นที่สุด + แต่ user เผลอแชร์ผิด = ข้อมูลรั่ว

กฎทอง 3 ข้อที่ครอบทุก model:

  • Least Privilege = สิทธิ์ที่ทำได้ — เฉพาะที่จำเป็น
  • Need-to-Know = ข้อมูลที่เห็น — เฉพาะที่ต้องใช้
  • Separation of Duties = task สำคัญ — ต้องการ ≥ 2 คน. Société Générale 2008 €4.9B เป็นเครื่องเตือนใจตลอดกาลว่า SoD ที่พัง = บริษัทระดับโลกก็ล้มได้

สิ่งที่ผู้นำต้องจำ#

ข้อแรก — เริ่มที่ RBAC ที่สะอาด. เพิ่ม ABAC เมื่อต้องการความยืดหยุ่นเฉพาะจุด

นี่คือคำแนะนำที่ผมอยากให้คุณจำที่สุดของ EP นี้ครับ. บริษัทไทยขนาดกลางส่วนใหญ่ — ยังไม่ต้อง ABAC ทั้งระบบ. เริ่มจากการจัด RBAC ให้สะอาด — role ไม่บวม + review ทุกปี + ลบ role ที่ไม่ใช้

หลังจาก RBAC สะอาด — เพิ่ม ABAC เฉพาะ use case ที่ต้องการ:

  • Conditional Access ของ Microsoft Entra ID — เปิดให้ระบบประเมิน context (IP / device / location) ก่อนอนุญาต login
  • Google Workspace Context-Aware Access — เหมือนกัน
  • AWS IAM Conditions — สำหรับ cloud workload
  • Sensitivity labels + DLP — สำหรับ document sharing

3 ขั้นตอนของการ implement ที่ผมแนะนำสำหรับบริษัทไทยขนาดกลาง:

  1. ขั้นที่ 1 (เดือน 1-3) — Clean RBAC — รวบรวม role ทั้งหมด + review + ลบที่ซ้ำซ้อน + เขียน documentation
  2. ขั้นที่ 2 (เดือน 4-6) — Conditional Access — เปิด Conditional Access ของ IdP — กำหนด rule พื้นฐาน (เช่น MFA required from outside corp network)
  3. ขั้นที่ 3 (เดือน 7+) — Data Classification + DLP — tag data ของบริษัท + setup DLP — บล็อก share Confidential data ออกนอก domain

ทำตามนี้ — บริษัทคุณจะมี authorization architecture ที่เทียบเคียงได้กับ enterprise ระดับโลก — โดยที่ไม่ต้องลงทุนระดับล้านบาท

ข้อสอง — Separation of Duties เป็น control ที่ราคาถูกที่สุด + ROI สูงที่สุดในงาน fraud prevention

ข้อนี้เป็น mindset shift ที่ผู้บริหารหลายคนยังไม่เห็นภาพครับ. SoD ไม่ต้องลงทุนเทคโนโลยี. มันคือเรื่องของ workflow design — ออกแบบให้ critical task ต้องมี ≥ 2 คน approve

ลองทำ exercise ในบริษัทคุณ — ระบุ critical workflow:

  • จ่ายเงินให้ vendor — คนสร้าง vendor record ≠ คนอนุมัติเงิน
  • เปลี่ยน salary ของพนักงาน — คนเสนอเปลี่ยน ≠ คนอนุมัติ ≠ คน execute ในระบบ HRIS
  • deploy code ขึ้น production — developer ที่เขียน ≠ คน review code ≠ คน deploy
  • release ข้อมูล customer ให้คนภายนอก — คนรับคำขอ ≠ คนอนุมัติ ≠ คน export ข้อมูล
  • สร้าง admin account ในระบบ — คนขอ ≠ คนอนุมัติ ≠ คน provision

ถ้าใน workflow ไหน คน 1 คนทำทั้งหมดได้ = ช่องโหว่ที่ใหญ่ที่สุด. แก้ได้ในวันเดียว — แค่ออก policy ใหม่ + บังคับ workflow ใน system

case ของ Société Générale 2008 — ในวงการ banking ใช้สอนกันทุกห้องเรียนทั่วโลกว่า knowledge ของ 2 บทบาทใน 1 คน = bomb ที่รอจุด. €4.9B หายไปเพราะคนเดียวที่รู้ทั้ง front office + back office. ถ้า SoD ทำงาน — Kerviel อาจ trade เล็กๆ ได้ — แต่ไม่มีทางปลอม trade ในระบบ back office พร้อมกัน

ในวงการ security ปี 2026 — บริษัทที่มี SoD ที่ดี = ลด fraud risk 70-80% โดยไม่ต้องลงทุนเทคโนโลยี. นี่คือ control ที่ ROI สูงที่สุดที่บริษัทไทยควรเริ่มทันที

Tease EP.17 — Admin Account + Zero Trust: EP สุดท้ายของ Part 2#

ครับ — EP.16 จบ — คุณเข้าใจ Authorization model แล้ว. แต่มี ช่องว่างใหญ่ ที่ยังไม่ได้พูดถึง

ในทุกระบบ — มี user พิเศษที่เรียกว่า Admin — มีสิทธิ์ทำได้ทุกอย่าง. Domain Admin ของ Active Directory. root ของ Linux. Global Administrator ของ Microsoft Entra ID. Owner ของ AWS account. คน 1 คนที่มี admin access = ครอบทุก control ที่ EP.16 พูดถึง

คำถาม — admin account ของบริษัทคุณ — ใครถืออยู่บ้าง? — ใช้ MFA แบบไหน? — มี session recording ไหม? — admin login ตอน ตี 3 ของคืนวันเสาร์ — มีคน alert ไหม?

นี่คือคำถามของ PAM (Privileged Access Management) — และมันคือเรื่องที่เกือบทุกเคส breach ใหญ่ในวงการ เริ่มต้นที่ “admin account ที่ไม่มี control ที่ดีพอ

EP.17 = EP สุดท้ายของ Part 2 จะพาคุณดู:

  • PAM (Privileged Access Management) — ทำไม admin ต้องไม่มีสิทธิ์ตลอดเวลา + ต้องผ่าน vault + Just-In-Time access + session recording
  • Privileged Account Sprawl — pattern ที่บริษัทไทยติดบ่อย — มี admin account 50 ตัวที่ไม่มีใครรู้ว่าใครเป็นเจ้าของ
  • Service Account — account ที่ application ใช้ — ไม่ใช่คน — แต่บ่อยครั้งมี admin permission ที่ไม่จำเป็น
  • Zero Trustmindset shift ที่ครอบทุก control — “ไม่ trust ใครโดย default — verify ทุก request”
  • BeyondCorp ของ Google — เคสที่ Google ทิ้ง VPN ตั้งแต่ปี 2014 + ทำ Zero Trust เต็มรูปแบบ — เป็น blueprint ของวงการ
  • NIST 800-207 — Zero Trust Architecture มาตรฐานของรัฐบาลสหรัฐ
  • บริษัทไทยควรเริ่ม Zero Trust ยังไง — 5 ขั้นตอนที่ทำได้จริงในงบประมาณที่ควบคุมได้

ครับ — เมื่อจบ EP.17 — คุณจะเข้าใจ Identity ครบทั้งภาพ — ตั้งแต่ Identity Lifecycle (EP.10), Authentication (EP.11-15), Authorization (EP.16), จนถึง Privileged Access + Zero Trust (EP.17). Part 2 จะปิดอย่างสมบูรณ์ — และพร้อมเข้า Part 3 = Data Security ที่จะพาคุณดูว่าข้อมูลของบริษัทควรปกป้องยังไง ตั้งแต่ encryption / DLP / data classification / privacy

EP.17 — PAM + Zero Trust: Admin account คือ crown jewel — และ mindset ที่ครอบทุก control (เร็วๆ นี้)