Sự khác biệt trong bối cảnh của các ứng dụng web là gì? Tôi thấy chữ viết tắt "auth" rất nhiều. Liệu nó có nghĩa là auth -entication hoặc auth -orization? Hay là cả hai?
authn
để xác thực và authz
ủy quyền
Sự khác biệt trong bối cảnh của các ứng dụng web là gì? Tôi thấy chữ viết tắt "auth" rất nhiều. Liệu nó có nghĩa là auth -entication hoặc auth -orization? Hay là cả hai?
authn
để xác thực và authz
ủy quyền
Câu trả lời:
Xác thực là quá trình xác định rằng ai đó thực sự là người mà họ tuyên bố là.
Ủy quyền đề cập đến các quy tắc xác định ai được phép làm những gì. Ví dụ: Adam có thể được ủy quyền để tạo và xóa cơ sở dữ liệu, trong khi Usama chỉ được phép đọc.
Hai khái niệm này hoàn toàn trực giao và độc lập, nhưng cả hai đều là trung tâm của thiết kế bảo mật và việc không có một chính xác nào sẽ mở ra con đường để thỏa hiệp.
Về mặt ứng dụng web, nói một cách thô sơ, xác thực là khi bạn kiểm tra thông tin đăng nhập để xem bạn có nhận ra người dùng đã đăng nhập hay không và ủy quyền là khi bạn tra cứu trong điều khiển truy cập của mình xem bạn có cho phép người dùng xem, chỉnh sửa, xóa không hoặc tạo nội dung.
Tóm lại, làm ơn. :-)
Xác thực = đăng nhập + mật khẩu (bạn là ai)
Ủy quyền = quyền (những gì bạn được phép làm)
"Auth" ngắn rất có thể đề cập đến cái đầu tiên hoặc cả hai.
Như Xác thực vs Ủy quyền đặt nó:
Xác thực là cơ chế theo đó các hệ thống có thể xác định an toàn người dùng của họ. Hệ thống xác thực cung cấp câu trả lời cho các câu hỏi:
- Ai là người dùng?
- Người dùng có thực sự là người mà anh ấy / cô ấy thể hiện?
Ngược lại, ủy quyền là cơ chế trong đó một hệ thống xác định mức độ truy cập mà người dùng được xác thực cụ thể phải có để bảo đảm các tài nguyên do hệ thống kiểm soát. Ví dụ, một 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 chỉ đị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 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?
Tôi thích Xác minh và Quyền đối với Xác thực và Ủy quyền.
Trong đầu và mã của tôi dễ dàng hơn khi nghĩ đến "xác minh" và "quyền" vì hai từ
Xác thực là xác minh và Ủy quyền đang kiểm tra (các) quyền. Auth có thể có nghĩa, nhưng được sử dụng thường xuyên hơn là "Xác thực người dùng" tức là "Xác thực người dùng"
Sự nhầm lẫn là dễ hiểu, vì hai từ nghe có vẻ giống nhau, và vì các khái niệm thường liên quan chặt chẽ và được sử dụng cùng nhau. Ngoài ra, như đã đề cập, Auth viết tắt thường được sử dụng không giúp đỡ.
Những người khác đã mô tả tốt những gì xác thực và ủy quyền có nghĩa. Đây là một quy tắc đơn giản để giúp hai người tách biệt rõ ràng:
- Auth enti cation xác nhận Id của bạn enti ty (hoặc tính xác thực , nếu bạn thích đó)
- Tác giả ization xác nhận tác giả của bạn ity, tức là quyền truy cập của bạn và có thể thay đổi một cái gì đó.
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 bạn nói không?"
2) Ủy quyền có nghĩa là "Nếu bạn có thể làm những gì bạn đang cố gắng làm?".
Điều này cũng được mô tả trong hình ảnh dưới đây.
Tôi đã cố gắng giải thích nó theo cách tốt nhất có thể, và tạo ra một hình ảnh giống nhau.
Xác thực là quá trình xác minh danh tính được công bố.
Thường được theo sau bởi ủy quyền , đó là sự chấp thuận rằng bạn có thể làm điều này và điều đó.
Thêm vào câu trả lời của @ Kerrek;
Xác thực là dạng Tổng quát (Tất cả nhân viên có thể đăng nhập vào máy)
Ủy quyền là hình thức Chuyên biệt (Nhưng quản trị viên chỉ có thể cài đặt / gỡ cài đặt ứng dụng trong Máy)
Xác thực là quá trình xác minh tên đăng nhập và mật khẩu của bạn.
Ủy quyền là quá trình xác minh rằng bạn có thể truy cập vào một cái gì đó.
Xác thực - Bạn có phải là người bạn tuyên bố?
Ủy quyền - Bạn có được phép làm bất cứ điều gì mà bạn đang cố gắng làm không?
Một ứng dụng web sử dụng Đăng nhập Google . Sau khi người dùng đăng nhập thành công, Google sẽ gửi lại:
Ngoài ra:
Công ty có thể có bảng điều khiển quản trị viên cho phép hỗ trợ khách hàng quản lý người dùng của công ty. Thay vì cung cấp giải pháp đăng ký tùy chỉnh cho phép hỗ trợ khách hàng truy cập bảng điều khiển này, công ty sử dụng Đăng nhập Google.
Mã thông báo JWT (nhận được từ quá trình đăng nhập Google) được gửi đến máy chủ ủy quyền của công ty để tìm hiểu xem người dùng có tài khoản G Suite với tên miền được lưu trữ của tổ chức không (email@company.com)? Và nếu có, họ có phải là thành viên của Nhóm Google của công ty được tạo để hỗ trợ khách hàng không? Nếu có cho tất cả những điều trên, chúng ta có thể xem xét chúng được chứng thực .
Sau đó, máy chủ ủy quyền của công ty sẽ gửi cho ứng dụng bảng điều khiển một mã thông báo truy cập. Mã thông báo truy cập này có thể được sử dụng để thực hiện các yêu cầu được ủy quyền đến máy chủ tài nguyên của công ty (ví dụ: khả năng thực hiện yêu cầu GET đến điểm cuối gửi lại tất cả người dùng của công ty).
Authentication
là một quá trình xác minh:
digital signature
Authorization
là bước tiếp theo sau Authentication
. Đó là về quyền / vai trò / đặc quyền đối với tài nguyên. OAuth (Ủy quyền mở) là một ví dụ về Ủy quyền