Có sự khác biệt giữa xác thực và ủy quyền không?


97

Tôi thấy hai thuật ngữ này bị ràng buộc khá nhiều (cụ thể là trong các kịch bản dựa trên web nhưng tôi cho rằng nó không giới hạn ở điều đó) và tôi đã tự hỏi liệu có sự khác biệt hay không.

Đối với tôi, cả hai đều có nghĩa là bạn được phép làm những gì bạn đang làm. Vì vậy, đây chỉ là một thứ danh pháp, hay là có sự khác biệt cơ bản về ý nghĩa?


3
Đúng. Có một sự khác biệt lớn . Wiki nói gì? Với 148k, thực sự bây giờ ;-) Tôi có thể Xác thực rằng bạn là Gián điệp của đối phương (hoặc Riêng tư mà không cần thông qua) mà không cần Cho phép bạn truy cập Dữ liệu Tối mật.

Đó là sự khác biệt giữa "xác thực" và "được ủy quyền"; cả hai đều viết tắt thành "auth" một cách vô ích. Apache phân biệt chúng bằng "authn" và "authz".
tc.

Điều này được giải thích rất đơn giản ở đây: serverfault.com/a/57082/227016
Kuldeep Jain

Điều này có trả lời câu hỏi của bạn không? Xác thực so với Ủy quyền
Løiten

Câu trả lời:


141

Thực sự có một sự khác biệt cơ bản. Xác thực là cơ chế theo đó hệ thống có thể xác định người dùng của họ một cách an toàn. Hệ thống xác thực tìm cách cung cấp câu trả lời cho các câu hỏi:

  • Người dùng là ai?
  • Người dùng có thực sự là người mà họ tuyên bố / đại diện?

Ngược lại, ủy quyền là cơ chế mà hệ thống xác định mức độ truy cập mà một người dùng cụ thể (đã được xác thực) phải có đối với các tài nguyên do hệ thống kiểm soát. Đối với một ví dụ có thể có hoặc không liên quan đến kịch bản dựa trên web, hệ thống quản lý cơ sở dữ liệu có thể được thiết kế để cung cấp cho một số cá nhân cụ thể nhất định khả năng truy xuất thông tin từ cơ sở dữ liệu nhưng không có khả năng thay đổi dữ liệu được lưu trữ trong cơ sở dữ liệu, đồng thời cung cấp cho các cá nhân khác khả năng thay đổi dữ liệu. Hệ thống ủy quyền cung cấp câu trả lời cho các câu hỏi:

  • Người dùng X có được phép truy cập tài nguyên R không?
  • Người dùng X có được phép thực hiện thao tác P không?
  • Người dùng X có được phép thực hiện thao tác P trên tài nguyên R không?

Steve Riley đã viết một bài luận khá hay về lý do tại sao chúng phải khác biệt.


3
Xác thực cũng áp dụng cho những thứ khác (ví dụ: MAC).
tc.

Bài luận bạn cung cấp thật tuyệt vời, cảm ơn bạn đã chia sẻ nó.
Abdel-Raouf

43

Xác thực đề cập đến việc xác minh danh tính của một thực thể. Việc ủy ​​quyền giải quyết những gì một thực thể được xác thực được phép làm (ví dụ: quyền đối với tệp).


12

Điểm chính là:

  • Xác thực liên quan đến xác thực tài khoản người dùng. Đây có phải là người dùng hợp lệ không? Người dùng này đã đăng ký trong ứng dụng của chúng tôi chưa ?. ví dụ: Đăng nhập
  • Ủy quyền giải quyết việc xác thực quyền truy cập của người dùng vào một số tính năng nhất định. Người dùng này có quyền / quyền truy cập tính năng này không? ví dụ: Xác nhận quyền sở hữu, Vai trò

5

Xác thực:

Xác thực là quá trình xác minh danh tính của người dùng bằng cách lấy một số loại thông tin xác thực và sử dụng các thông tin xác thực đó để xác minh danh tính của người dùng. Nếu thông tin xác thực hợp lệ, quá trình ủy quyền sẽ bắt đầu. Quá trình xác thực luôn tiến hành quá trình Ủy quyền.

Ủy quyền:

Ủy quyền là quá trình cho phép người dùng được xác thực truy cập vào các tài nguyên bằng cách kiểm tra xem người dùng có quyền truy cập vào hệ thống hay không. Ủy quyền giúp bạn kiểm soát quyền truy cập bằng cách cấp hoặc từ chối các quyền cụ thể cho người dùng đã được xác thực.


2

Theo kinh nghiệm của tôi, Xác thực thường đề cập đến quy trình kỹ thuật hơn, tức là Xác thực người dùng (bằng cách kiểm tra thông tin đăng nhập / mật khẩu, chứng chỉ, v.v.), trong khi Ủy quyền được sử dụng nhiều hơn trong Logic kinh doanh của một ứng dụng.

Ví dụ: trong một ứng dụng, người dùng có thể đăng nhập và được xác thực, nhưng không được phép thực hiện các chức năng nhất định.


1

Xác thực người dùng trên một trang web có nghĩa là bạn xác minh rằng người dùng này là người dùng hợp lệ, tức là xác minh người dùng đang sử dụng tên người dùng / mật khẩu hoặc các chứng chỉ, v.v. Nói chung, người đó có được phép vào tòa nhà không?

Ủy quyền là quá trình xác minh xem người dùng có quyền / quyền truy cập vào các tài nguyên hoặc phần nhất định của trang web hay không, ví dụ: nếu CMS của nó thì người dùng có được phép thay đổi nội dung của trang web hay không. Về kịch bản tòa nhà văn phòng, người dùng có được phép vào phòng mạng của văn phòng hay không.


1

Nếu tôi có thể đăng nhập, thông tin đăng nhập của tôi đã được xác minh và tôi ĐƯỢC XÁC THỰC. Nếu tôi có thể thực hiện một nhiệm vụ cụ thể, tôi ĐƯỢC ỦY QUYỀN để làm việc đó.


1

Xác thực xác minh bạn là ai và Ủy quyền xác minh những gì bạn được phép làm. Ví dụ: bạn được phép đăng nhập vào máy chủ Unix của mình thông qua máy khách ssh, nhưng bạn không được phép vào trình duyệt / data2 hoặc bất kỳ hệ thống tệp nào khác. Việc cấp phép xảy ra sau khi xác thực thành công ........


0

Xác thực xác minh bạn là ai và Ủy quyền xác minh những gì bạn được phép làm. Ví dụ: bạn được phép đăng nhập vào máy chủ Unix của mình thông qua máy khách ssh, nhưng bạn không được phép vào trình duyệt / data2 hoặc bất kỳ hệ thống tệp nào khác. Ủy quyền xảy ra sau khi xác thực thành công.


0

Xác thực: xác minh người dùng là ai.

Để xác thực, người dùng cung cấp thông tin xác thực như tên người dùng và mật khẩu và nếu thông tin xác thực hợp lệ, người dùng sẽ nhận được mã thông báo có thể được gửi cùng với các yêu cầu trong tương lai như xác minh xác thực của mình.

Ủy quyền: xác định những gì người dùng được phép làm.

Từ quan điểm của người dùng, ủy quyền thành công diễn ra khi người đó có thể gửi yêu cầu truy cập vào hệ thống và thực hiện một việc gì đó (chẳng hạn như tải lên một tệp trong hệ thống) và nó hoạt động.

Xác thực chỉ xác minh danh tính — nó xác nhận rằng người dùng là người mà cô ấy tuyên bố là. Ủy quyền xác định tài nguyên nào mà người dùng đã xác minh có thể truy cập.


0

Xác thực

Xác thực xác minh bạn là ai. Ví dụ: bạn có thể đăng nhập vào máy chủ của mình bằng ứng dụng ssh hoặc truy cập vào máy chủ email của mình bằng ứng dụng khách POP3 và SMTP.

Ủy quyền

Sự ủy quyền xác minh những gì bạn được phép làm. Ví dụ: bạn được phép đăng nhập vào máy chủ của mình thông qua ứng dụng khách ssh, nhưng bạn không được phép vào trình duyệt / data2 hoặc bất kỳ hệ thống tệp nào khác. Ủy quyền xảy ra sau khi xác thực thành công.


0

Ủy quyền là một quá trình mà máy chủ xác định xem máy khách có quyền sử dụng tài nguyên hoặc tệp truy cập hay không.

Xác thực được máy chủ sử dụng khi máy chủ cần biết chính xác ai đang truy cập thông tin hoặc trang web của họ.


0

Ví dụ thời gian thực đơn giản, Nếu học sinh đang đến trường thì hiệu trưởng đang kiểm tra Xác thực và Ủy quyền. Xác thực: Kiểm tra thẻ sinh viên có nghĩa là Người đó thuộc trường chúng ta hay không. Ủy quyền: Kiểm tra xem học sinh có được phép ngồi trong Phòng thí nghiệm Lập trình Máy tính hay không.


0

Tôi đã cố gắng tạo ra một hình ảnh để giải thích điều này bằng những từ đơn giản nhất

1) Xác thực có nghĩa là "Bạn có phải là người như bạn nói không?"

2) Ủy quyền có nghĩa là "Liệu bạn có thể làm những gì bạn đang cố gắng làm không?".

Điều này cũng được mô tả trong hình ảnh dưới đây.

nhập mô tả hình ảnh ở đây


2
tại sao bạn lại thêm một bức ảnh chỉ có cùng một văn bản như trong bài đăng của bạn? :)
Millenjo

0

Xác thực :

Đây là quá trình xác nhận xem danh tính là đúng hay sai. Nói cách khác, xác minh rằng người dùng thực sự là người mà họ tự nhận là mình.

Các loại xác thực:

  1. Tên người dùng + mật khẩu loại xác thực
  2. Xác thực bằng tài khoản xã hội
  3. Xác thực không cần mật khẩu
  4. Xác thực đa yếu tố
  5. Xác thực dựa trên vân tay hoặc võng mạc, v.v.

OpenID là một tiêu chuẩn mở để xác thực.

Ủy quyền

Kỹ thuật xác định tài nguyên nào có thể truy cập được đối với người dùng có danh tính hoặc vai trò nhất định.

OAuth là một tiêu chuẩn mở để ủy quyền.


0

Xác thực : Một ứng dụng cần biết ai đang truy cập vào ứng dụng. Vì vậy, xác thực có liên quan đến từ ai. Ứng dụng sẽ kiểm tra nó bằng một biểu mẫu đăng nhập. Người dùng sẽ nhập tên người dùng và mật khẩu và những đầu vào này sẽ được ứng dụng xác nhận. Sau khi xác thực thành công, người dùng được khai báo là đã xác thực.

Ủy quyền là kiểm tra xem người dùng có thể truy cập vào ứng dụng hay không hoặc những gì người dùng có thể truy cập và những gì người dùng không thể truy cập. Nguồn: Authentcation Vs Authorization


0

So với phần còn lại của các câu trả lời cố gắng xác định rõ ràng định nghĩa hoặc công nghệ. Tôi sẽ gửi một ví dụ có thể có giá trị hơn.

Dưới đây là một số bài viết có sự tương đồng tuyệt vời giữa hộ chiếu so với ổ khóa và chìa khóa

Khi nói về xác thực (còn gọi là AuthN), hãy nghĩ đến danh tính. Xác thực cố gắng trả lời "đây có phải là người mà họ nói họ là không?" Đó là một phần mềm tương đương với hộ chiếu hoặc kiểm tra ID quốc gia. Hay nói một cách thực tế hơn, xác thực là một quá trình tương tự như khoảnh khắc khi bạn nhìn vào khuôn mặt của người khác để nhận ra rằng đây là bạn của bạn từ thời đại học chứ không phải người hàng xóm khó chịu ở tầng hai của bạn.

Mặt khác, ủy quyền (còn được gọi là AuthZ) là tất cả về quyền. Ủy quyền trả lời một câu hỏi "người này được phép làm gì trong không gian này?" Bạn có thể coi nó như chìa khóa nhà hoặc huy hiệu văn phòng của mình. Bạn có thể mở cửa trước của bạn? Người hàng xóm phiền phức của bạn có thể vào căn hộ của bạn theo ý muốn? Và hơn nữa, một khi trong căn hộ của bạn, ai có thể sử dụng nhà vệ sinh? Ai có thể ăn từ đống bánh quy bí mật được cất giấu trong tủ bếp của bạn?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.