Đăng nhập chưa phải được phép
Tách việc kiểm chứng tài khoản khỏi quyết định ai được thao tác trên tài nguyên nào.
Chưa qua chuyên gia thẩm định hoặc thử với người học; ví dụ và dữ liệu là tình huống tự tạo.
Đang kiểm tra bộ nhớ…
Mục tiêu & đầu vào
- Phân biệt authentication và authorization.
- Đọc bảng quyền theo chủ thể, thao tác, tài nguyên và ngữ cảnh.
- Đề xuất một quyền tối thiểu và một phép kiểm tra từ chối.
Nên hiểu trước
- Danh tính và phiên · Học bù: Danh tính, xác thực và phiên
Gợi ý đầu vào; bạn vẫn có thể đọc bài này.
Từ danh tính sang quyền
Tài khoản đã xác thực vẫn có thể yêu cầu một thao tác bị cấm. Phân quyền (authorization) quyết định chủ thể được làm gì với tài nguyên trong ngữ cảnh cụ thể. Một nội quy công khai có thể cho khách đọc mà không đăng nhập; một ghi chú riêng cần quy tắc khác.
Để giải thích một quyết định, hãy điền đầy đủ actor/action/resource/context. “Bình được dùng website” chưa phải “Bình được xóa ghi chú của Lan”.
Quyền phải phục vụ nhiệm vụ
Giả sử Lan thuộc nhóm A; Bình thuộc nhóm B. Mỗi thành viên chỉ cần sửa ghi chú của mình và đọc bản nháp của nhóm được phân công. Hãy bắt đầu bằng quyền cần cho nhiệm vụ, không bằng việc cấp rộng rồi hy vọng người dùng tự hạn chế.
| Chủ thể | Tài nguyên | Đọc | Sửa |
|---|---|---|---|
| Lan | Ghi chú của Lan | Cho phép | Cho phép |
| Bình | Ghi chú của Lan | Từ chối | Từ chối |
| Lan, nhóm A | Bản nháp nhóm A | Cho phép | Chưa được cấp trong ví dụ |
| Khách | Nội quy công khai | Cho phép | Từ chối |
Đặc quyền tối thiểu (least privilege) là chỉ cấp quyền cần thiết. Từ chối mặc định giúp xử lý trường hợp chưa có quy tắc cho phép rõ ràng. Tuy nhiên, “từ chối tất cả” không phải lời giải hoàn chỉnh: hệ thống còn phải cho đúng người thực hiện nhiệm vụ hợp lệ.
Ví dụ đã giải: ứng dụng ẩn nút xóa với thành viên thường. Điều đó giúp giao diện phù hợp vai trò, nhưng không tự ngăn một yêu cầu xóa được tạo bằng cách khác. Trong một ứng dụng thật, nơi thực thi quyết định phải kiểm tra quyền của yêu cầu; không chỉ tin trạng thái của nút.
Tài liệu gốc để đối chiếu khái niệm: OWASP — Authorization Cheat Sheet. Các nguồn còn lại được nêu trong metadata để reader hiển thị cùng phạm vi kiểm chứng.
Thực hành
Bài tập 1
Bổ sung một phép kiểm tra cho quy tắc ghi chú riêng. Nêu cả ca được phép và ca bị từ chối; xác định tài nguyên cụ thể.
Mở gợi ý
Nếu chỉ kiểm tra “đã đăng nhập” thì Bình và Lan có khác nhau ở điều quyết định không?
Đáp án tham khảo & tiêu chí
Ca dương: tài khoản Lan đọc ghi chú thuộc Lan phải được phép. Ca âm: tài khoản Bình đọc cùng ghi chú phải bị từ chối. Đổi ID tài nguyên hoặc ẩn nút không được làm thay đổi chính sách sở hữu. Nếu thêm vai trò hỗ trợ có quyền đặc biệt, cần định nghĩa quyền ấy trước, thay vì mặc định quản trị viên luôn được đọc mọi thứ.
- Có chủ thể và tài nguyên cụ thể.
- Có một ca dương hợp lệ.
- Có một ca âm giữa hai tài khoản khác nhau.
- Lý do dựa trên chính sách, không chỉ vào giao diện.
Tự đối chiếu lập luận; có thể có nhiều cách trả lời phù hợp.
Tự kiểm tra
Chọn rồi nộp để xem phản hồi. Quiz không tự đánh dấu hoàn thành bài.
Suy ngẫm
Viết một quy tắc đọc hoặc sửa theo actor/action/resource/context, rồi nêu ca dương, ca âm và ca biên.
Dùng ghi chú để viết cách giải thích của riêng bạn.
Nguồn & kiểm chứng
Work + Codex — AI-assisted source/logic review; distractor revision after independent review. Mức: source-checked. Chưa qua chuyên gia thẩm định hoặc thử với người học; ví dụ và dữ liệu là tình huống tự tạo.
- OWASP — Authentication Cheat Sheet ↗
Đối chiếu 2026-10-28 · Authentication principles; no account implementation in V1.
- NIST SP 800-63B — Authentication ↗
Đối chiếu 2026-10-28 · Authenticator/factor concepts; federal guidance is not claimed as blanket application certification.
- OWASP — Authorization Cheat Sheet ↗
Đối chiếu 2026-10-28 · Least privilege, authorization and per-request checking; original example policies are project-created.
- PortSwigger Academy — Access Control ↗
Đối chiếu 2026-10-28 · Mechanisms/examples; no copied labs, questions or assets.
Bạn tự đánh dấu khi sẵn sàng. Đây là tiến độ đọc, không phải chứng nhận năng lực.