Phân biệt “Authentication” và “Authorization”

Ở đây mình sẽ không đi sâu chi tiết vào cơ chế hoạt động của authentication và authorization mà chỉ tóm lượt khái niệm cơ bản cần thiết mà một tester nên biết để không bị nhầm lẫn giữa 2 thuật ngữ này.

1. Authentication

Theo Techtarget định nghĩa “Authentication is a process in which the credentials provided are compared to those on file in a database of authorized users’ information on a local operating system or within an authentication server.”

Tạm dịch Authentication là xác thực, nó là quá trình kiểm tra danh tính của người dùng hoặc một hệ thống khác đến hệ thống hiện tại thông qua một hệ thống xác thực.

Một cách đơn giản quá trình Authentication là đi tìm câu trả lời cho câu hỏi “Bạn là ai?”

Quá trình này rất thông dụng trong hầu hết các CMS liên quan đến quản lý, tương tác người dùng thông qua form đăng ký (login form) và nó được xác thực dựa trên tên người dùng và mật khẩu (password-based authentication).

2. Authorization:

Theo Techtarget định nghĩa “Authorization is the process of giving someone permission to do or have something.”

Một cách hiểu đơn giản quá trình Authorization là đi tìm câu trả lời cho câu hỏi “Bạn được phép làm gì?”

Xét về mặt logic thì authorization được thực thi sau khi authentication hoàn thành. Điều này có nghĩa là sau khi xác định được danh tính người dùng (authentication), hệ thống sẽ tiếp tục kiểm tra xem người dùng có thể làm gì trên tài nguyên (url, tập tin, chức năng…) của hệ thống hay còn gọi là phân quyền trên hệ thống.

Ví dụ,  một user chỉ có quyền xem bài viết mà không có quyền chỉnh sửa, đó là authorization.

Các hình thức phân quyền thường gặp là:

+ Role-based authorization: Phân quyền dựa trên vai trò của người dùng. Ví dụ trong WordPress có các role như là  Subscriber, Contributor, Author, Editor, Administrator và mỗi một role sẽ có những quyền khác nhau và mỗi người dùng sẽ được phân role có quyền tương ứng. Đối với những hệ thống có nhiều người dùng thì role-based là cách tiếp cận tốt nhất để tiết kiệm thời gian trong việc phân quyền.

+ Object-based authorization: Phân quyền theo đối tượng. Cách này sẽ phân quyền cho từng đối tượng cụ thể. Ví dụ những đối tượng trong nhóm A, B được phân quyền chỉnh sửa các bài viết trong danh mục. Nhưng đối tượng trong nhóm A chỉ chỉnh sửa được bài viết trong danh mục C, đối trượng trong nhóm B chỉ chỉnh sửa bài viết trong danh mục D.

Nguồn tham khảo thêm:

http://searchsecurity.techtarget.com/definition/authentication

http://searchsoftwarequality.techtarget.com/definition/authorization

https://www.linkedin.com/learning/e0add508-01b9-30f1-878d-a2b8f0bce02d/identification-authentication-and-authorization

https://en.wikipedia.org/wiki/Authentication

 


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *