Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยเครือข่าย

Authorization ในความปลอดภัยเครือข่าย: ประเภท แนวคิด และการใช้งาน

Authorization (การให้สิทธิ์) คืออะไร?

Authorization (AuthZ) คือกระบวนการตัดสินใจว่า "Identity นี้ (User/Service/Device) สามารถทำอะไรได้บ้าง" หลังจากผ่าน Authentication (AuthN) แล้ว เป็นส่วนหนึ่งของ AAA (Authentication, Authorization, Accounting)

🔐 Authorization vs Authentication

ด้านAuthentication (AuthN)Authorization (AuthZ)
คำถามคุณคือใคร?คุณทำอะไรได้บ้าง?
ตัวอย่างPassword, MFA, Certificate, BiometricRBAC Role, ACL, Policy, Scope, Permission
ลำดับFirstSecond (หลัง AuthN สำเร็จ)

🎭 ประเภท Access Control Models (Authorization Models)

Modelคำอธิบายใช้เมื่อไหร่ตัวอย่าง
DAC (Discretionary Access Control)เจ้าของทรัพยากรตัดสินใจสิทธิ์ (ACL per object)File System, Shared FolderNTFS ACL, Linux rwx, Google Drive Share
MAC (Mandatory Access Control)ระบบบังคับตาม Label/Policy (Central Policy)Military, Government, High SecuritySELinux, AppArmor, TrustedBSD
RBAC (Role-Based Access Control)สิทธิ์ผูกกับ Role → User/Group ได้ RoleEnterprise, Cloud (Azure RBAC, AWS IAM, K8s RBAC)Admin, Reader, Contributor, Custom Role
ABAC (Attribute-Based Access Control)Policy ประเมิน Attributes (User, Resource, Environment)Fine-grained, Dynamic, Zero TrustAWS IAM Conditions, Azure ABAC, XACML, OPA/Rego
PBAC (Policy-Based Access Control)Policy as Code (Central Policy Engine)Modern, Cloud-native, MicroservicesOPA/Gatekeeper, AWS Cedar, Google Zanzibar
ReBAC (Relationship-Based Access Control)สิทธิ์จาก Relationship (User ↔ Resource)Social, Collaborative, File SharingGoogle Zanzibar, SpiceDB, OpenFGA

🌐 Network Authorization (Network Layer)

  • NAC (Network Access Control): Pre-admission (Health Check, 802.1X) + Post-admission (VLAN Assignment, ACL)
  • Firewall Rules: Source IP/Port, Dest IP/Port, App-ID, User-ID (Palo Alto, FortiGate)
  • Zero Trust Network Access (ZTNA): Verify Every Request (Identity + Device + Context) → Policy Decision Point (PDP) → Policy Enforcement Point (PEP)
  • SDN/Service Mesh Authorization: K8s NetworkPolicy, Istio AuthorizationPolicy, Cilium NetworkPolicy (L3/L4/L7)

📋 Authorization ใน Cloud (Azure/AWS/GCP)

PlatformAuthorization SystemKey Concepts
AzureAzure RBACRole Definition (Permissions), Role Assignment (Principal + Scope), Scope (MG, Sub, RG, Resource), Built-in/Custom Roles, Deny Assignments
AWSIAM PoliciesIdentity-based (User/Group/Role), Resource-based, Permissions Boundaries, SCPs (Organizations), Conditions (Context)
GCPIAMRoles (Primitive, Predefined, Custom), Principals, Conditions, Policy Binding, Org Policies, VPC Service Controls

🛠️ Best Practices

  1. Least Privilege: ให้สิทธิ์น้อยที่สุดที่ทำงานได้
  2. Separation of Duties: แยก Role ที่ขัดแย้ง (เช่น Deploy vs Approve)
  3. Just-in-Time (JIT) Access: ให้สิทธิ์ช่วงเวลาจำกัด (Azure PIM, AWS IAM Access Analyzer)
  4. Policy as Code: GitOps (OPA, Kyverno, Terraform Sentinel)
  5. Regular Access Reviews: Quarterly Certification Campaign
  6. Audit Logging: Log ทุก Authorization Decision (Allow/Deny)

⚠️ Common Pitfalls

  • Over-permissive Roles (Owner/Contributor ทุกที่)
  • Hard-coded Credentials ใน Code/CI/CD
  • ไม่มี Expiration สำหรับ Access
  • Shared Accounts (Break Accountability)
  • ไม่แยก Environment (Dev/Staging/Prod) ด้วย Scope/Subscription

สรุป

Authorization = ตัดสินใจสิทธิ์หลัง AuthN โมเดลหลัก: DAC, MAC, RBAC, ABAC, PBAC, ReBAC Network Layer: NAC, Firewall User-ID, ZTNA, Service Mesh Cloud: Azure RBAC, AWS IAM, GCP IAM หลักการ: Least Privilege, Separation of Duties, JIT, Policy as Code, Audit