Chức năng Ủy quyền (Authorization) trong bảo mật mạng
Trong mô hình bảo mật AAA (Authentication, Authorization, Accounting), Authorization (Ủy quyền) là bước quyết định người dùng được làm gì sau khi đã được xác thực (Authentication).
1. Mục đích của chức năng Authorization
- Cấp quyền truy cập tài nguyên: Xác định user/process được truy cập file, thư mục, ứng dụng, database, API, network segment nào
- Thực thi nguyên tắc Least Privilege: Chỉ cấp quyền tối thiểu cần thiết để thực hiện công việc
- Kiểm soát hành động: Quy định thao tác được phép: Read, Write, Execute, Delete, Modify, Admin
- Phân quyền dựa trên vai trò (RBAC): Gán quyền cho Role, sau đó gán User vào Role
- Phân quyền dựa trên thuộc tính (ABAC): Quyết định dựa trên user attributes, resource attributes, environment context
2. Mục đích của chức năng Authentication (Xác thực)
- Xác định danh tính người dùng (Who are you?)
- Cơ chế: Username/password, MFA, Certificate, Kerberos, SAML/OIDC, Biometric
- Cung cấp định danh duy nhất (Identity) cho các request tiếp theo
3. Quy trình Authentication (Xác thực)
- Identification: User trình bày định danh (username, email, cert)
- Authentication: Hệ thống xác minh danh tính qua credential (password, token, biometric)
- Session establishment: Tạo session token, JWT, cookie, Kerberos ticket
- Authorization: Dựa trên identity đã xác thực, Policy Engine quyết định quyền truy cập
4. Ví dụ về Authentication
- Đăng nhập website: Username + Password + MFA
- SSO doanh nghiệp: SAML/OIDC redirect về Identity Provider
- VPN: Certificate + Username/Password + MFA
- API: API Key, OAuth 2.0 Bearer Token, mTLS Certificate
5. Tại sao Authentication và Authorization phải đi cùng nhau?
- Authentication trước, Authorization sau: Phải biết "bạn là ai" mới quyết định "bạn được làm gì"
- Authentication cung cấp Identity context cho Authorization Engine
- Authorization Policy được đánh giá dựa trên: User identity, Group membership, Attributes, Time, Location, Device posture
- Nếu thiếu Authentication: Không biết ai đang yêu cầu → không thể áp dụng policy
- Nếu thiếu Authorization: Ai đã xác thực cũng làm được mọi thứ → vi phạm least privilege
6. Authentication trong công nghệ Web
Xác minh thực thể (người dùng, quy trình, thiết bị) thực sự là người họ tuyên bố. Mục tiêu: đạt được sự tin cậy (confidence) để cho phép truy cập tài nguyên thông tin.
- Session-based: Server lưu session, client giữ session ID (cookie)
- Token-based (JWT): Stateless, token chứa claims, chữ ký số
- OAuth 2.0 / OpenID Connect: Authorization framework, delegated access
- WebAuthn/FIDO2: Passwordless, public key cryptography
7. Mô hình Authorization hiện đại
| Mô hình | Đặc điểm | Ứng dụng |
|---|---|---|
| RBAC (Role-Based) | Gán quyền cho Role, User kế thừa qua Role | Hệ thống truyền thống, ERP, CRM |
| ABAC (Attribute-Based) | Policy dựa trên attributes (user, resource, action, environment) | Cloud, Microservices, Fine-grained control |
| PBAC (Policy-Based) | Policy tập trung, quyết định real-time (OPA, Cedar) | Cloud-native, Kubernetes, API Gateway |
| ReBAC (Relationship-Based) | Quyền dựa trên mối quan hệ (Google Zanzibar) | Social, Collaboration, File sharing |
Tóm lại: Authentication trả lời "Bạn là ai?", Authorization trả lời "Bạn được làm gì?". Cả hai không thể tách rời trong kiến trúc bảo mật hiện đại.