Authorization (Phân quyền)

Kiểm soát chính xác ai được làm gì trong hệ thống - trả lời câu hỏi “bạn được phép làm gì?“. Diễn ra sau Authentication.

Các mô hình

  • RBAC (Role-Based Access Control): phân quyền theo vai trò. Mỗi user gán một/nhiều vai trò (admin, editor, viewer), mỗi vai trò có tập quyền. Đơn giản, rõ ràng - nhưng cần chi tiết hơn thì dễ “role explosion” (nổ tung số vai trò).
  • ABAC (Attribute-Based Access Control): phân quyền theo thuộc tính của user, tài nguyên và môi trường (if-then). Ví dụ: cho phép nếu user thuộc phòng kế toán + file độ nhạy thấp + trong giờ hành chính. Linh hoạt cao nhưng phức tạp khi thiết lập.
  • OAuth2: chuẩn ủy quyền. Ứng dụng bên thứ ba lấy access token từ authorization server để truy cập API thay cho user mà không cần biết mật khẩu. Ví dụ app đọc Google Drive của bạn qua token. Thành phần: Resource Owner, Client, Authorization Server, Resource Server, scope. (Cần xác thực danh tính → thêm OpenID Connect.)

Liên quan