Bỏ qua đến nội dung
Hotline: 0902 711 308 info@w3seo.com 46/1/56 Vườn Chuối, Phường 04, Quận 03, Thành phố Hồ Chí Minh
Trang chủAn toàn thông tinBảo mật & xử lý sự cốRBAC là gì? Cách phân quyền theo vai trò trong…

RBAC là gì? Cách phân quyền theo vai trò trong doanh nghiệp

RBAC (Role-Based Access Control) là mô hình kiểm soát truy cập dựa trên vai trò: quyền được gắn với vai trò công việc, sau đó người dùng được gán vào vai trò phù hợp. Ví dụ, nhân viên bán hàng được cập nhật thông tin khách hàng, còn kế toán được xử lý hóa đơn theo nhiệm vụ.

RBAC giúp chuẩn hóa cấp và thu hồi quyền, giảm quyền thừa và rủi ro truy cập trái phép. Tuy nhiên, mô hình này không bảo đảm loại bỏ rò rỉ dữ liệu; hiệu quả còn phụ thuộc phạm vi dữ liệu, cách kiểm tra quyền và quản trị tài khoản.

Vai trò của RBAC trong quản trị quyền truy cập doanh nghiệp

RBAC hoạt động thế nào?

Cấu trúc cơ bản là Người dùng → Vai trò → Quyền. Khi nhiệm vụ thay đổi, doanh nghiệp điều chỉnh vai trò thay vì sửa từng quyền rời rạc cho mỗi tài khoản. Một người có thể có nhiều vai trò, nhưng cần kiểm tra tổng quyền thực tế và các xung đột phát sinh.

Thành phầnÝ nghĩaVí dụ
Người dùngTài khoản thực hiện công việcNhân viên bán hàng A
Vai tròNhóm trách nhiệm được xác địnhNhân viên bán hàng
QuyềnHành động được phép trên tài nguyênXem, tạo hoặc cập nhật hồ sơ khách hàng

Tham khảo định nghĩa RBAC của NIST. Vai trò nên bám theo nhiệm vụ thực tế, không chỉ theo chức danh hoặc phòng ban.

Quyền thao tác khác phạm vi dữ liệu thế nào?

“Được xem khách hàng” và “được xem khách hàng nào” là hai điều phải xác định riêng. Gán vai trò Sale không tự bảo đảm nhân viên A chỉ thấy khách hàng được giao cho A. Hệ thống cần kiểm tra thêm phạm vi bản ghi, nhóm, chi nhánh hoặc tổ chức theo chính sách.

Ví dụ, A và B cùng có quyền xem hồ sơ khách hàng. Khi A yêu cầu mở hồ sơ được giao cho B, máy chủ phải kiểm tra quan hệ phân công trước khi trả dữ liệu. Việc chỉ lọc danh sách trên giao diện không đủ nếu chức năng xem chi tiết vẫn cho truy cập ngoài phạm vi.

Phạm vi này có thể được triển khai bằng vai trò có phạm vi hoặc kết hợp điều kiện theo thuộc tính/quan hệ. Cần ghi rõ điều kiện và kiểm thử, thay vì cho rằng tên vai trò đã diễn tả toàn bộ chính sách.

Mẫu ma trận phân quyền trong doanh nghiệp

Bảng dưới là mẫu minh họa để thảo luận với người phụ trách nghiệp vụ; cần điều chỉnh theo trách nhiệm thực tế. Quyền xuất dữ liệu, xóa, duyệt và cấp quyền nên được xét riêng.

Vai tròĐược phépPhạm vi và giới hạn
Nhân viên bán hàngXem và cập nhật khách hàngChỉ khách hàng được giao; không mặc định xuất toàn bộ CRM.
Trưởng nhóm bán hàngXem báo cáo và phân công khách hàngTrong nhóm phụ trách; không tự có quyền truy cập nhóm khác.
Kế toán lập thanh toánTạo hồ sơ thanh toán, xem chứng từ liên quanKhông tự duyệt khoản thanh toán do mình lập.
Người duyệt thanh toánDuyệt theo thẩm quyềnKiểm tra hạn mức và tách người lập với người duyệt theo quy trình.
Quản trị hệ thốngCấu hình và quản lý quyền được phê duyệtDùng tài khoản cá nhân, ghi nhật ký; quyền đọc dữ liệu nghiệp vụ phải được xét riêng.

Ba nguyên tắc cần đưa vào thiết kế

Quyền tối thiểu: chỉ cấp những quyền cần cho công việc. Quyền đặc biệt nên có người phê duyệt, lý do và thời điểm hết hạn nếu là nhu cầu tạm thời. Xem nguyên tắc least privilege của NIST.

Tách nhiệm vụ: không để một người tự hoàn thành toàn bộ giao dịch nhạy cảm khi quy trình yêu cầu kiểm soát chéo. Việc đặt hai vai trò “người lập” và “người duyệt” chưa đủ nếu cùng một người được gán cả hai và vẫn tự duyệt được.

Mặc định từ chối và kiểm tra tại máy chủ: yêu cầu chưa được cho phép rõ ràng phải bị từ chối. Kiểm tra quyền ở mỗi yêu cầu, kể cả API, tải tệp và xuất dữ liệu. Ẩn nút chỉ hỗ trợ giao diện, không thay thế kiểm soát truy cập. Đây là các khuyến nghị trong OWASP Authorization Cheat Sheet.

Quy trình triển khai RBAC

1. Liệt kê hệ thống và thao tác nhạy cảm. Bắt đầu với một hệ thống như CRM, ERP hoặc ứng dụng nội bộ. Ghi rõ tài nguyên, người sử dụng và các thao tác xem, tạo, sửa, xóa, xuất, duyệt, cấp quyền.

2. Lập vai trò và phạm vi. Với mỗi vai trò, ghi nhiệm vụ, quyền cần thiết, phạm vi dữ liệu và người chịu trách nhiệm duyệt. Tránh vai trò “Nhân viên” quá rộng hoặc tạo một vai trò mới cho từng ngoại lệ nhỏ.

3. Rà quyền hiện có. Đối chiếu ma trận với quyền thực tế, kể cả quyền cấp trực tiếp, quyền kế thừa và quyền từ nhiều nhóm. Ghi ngoại lệ được duyệt; thu hồi quyền không còn cần thiết theo kế hoạch để tránh gián đoạn công việc.

4. Chạy thử và nghiệm thu. Dùng tài khoản thử nghiệm ở các vai trò khác nhau. Kiểm tra cả hành động được phép lẫn hành động phải bị chặn, sau đó mới mở rộng sang hệ thống khác.

5. Gắn phân quyền với vòng đời nhân sự. Khi nhận người mới, cấp đúng vai trò; khi chuyển vị trí, rà và gỡ quyền cũ trước khi quyền cộng dồn ngoài ý muốn; khi nghỉ việc, vô hiệu hóa truy cập theo quy trình. Kiểm tra cả phiên đăng nhập, mã truy cập và tài khoản liên quan để quyền đã thu hồi thực sự hết hiệu lực.

6. Rà soát theo rủi ro và sự kiện. Ưu tiên tài khoản quản trị, nhà cung cấp và quyền xuất/xóa dữ liệu. Không có chu kỳ cố định phù hợp mọi doanh nghiệp; rà thêm khi đổi nhiệm vụ, kết thúc dự án hoặc phát hiện bất thường.

Với tài khoản do đối tác nắm giữ, xem checklist quyền kiểm soát website. Kết hợp giám sát bảo mật để theo dõi thay đổi quyền và truy cập bất thường.

Bảng nghiệm thu phân quyền

Thực hiện các tình huống dưới đây trong môi trường thử nghiệm hoặc phạm vi được cho phép. Kết quả mong đợi phải dựa trên chính sách đã được doanh nghiệp duyệt.

Tình huốngKết quả mong đợi
A xem khách hàng được giao cho ACho phép đúng các trường thông tin thuộc quyền của A.
A yêu cầu hồ sơ của B, cùng vai trò nhưng khác phạm viTừ chối nếu chưa có quyền chia sẻ; không trả dữ liệu ngoài phạm vi.
Nhân viên không có quyền xuất dữ liệu gọi trực tiếp chức năng xuấtMáy chủ từ chối, kể cả khi bỏ qua giao diện.
Người lập tự duyệt giao dịch của mìnhBị chặn khi chính sách yêu cầu tách người lập và người duyệt.
Người dùng được gán thêm một vai tròTổng quyền được kiểm tra; không vô tình bỏ qua giới hạn hoặc tách nhiệm vụ.
Nhân viên chuyển bộ phận hoặc nghỉ việcQuyền cũ và phiên/mã truy cập liên quan được xử lý đúng chính sách, không còn truy cập ngoài thẩm quyền.
Chức năng mới chưa có quy tắc cấp quyềnMặc định từ chối cho đến khi quyền được thiết kế và phê duyệt.

Lưu tài khoản thử, vai trò, phạm vi, kết quả thực tế và người nghiệm thu. Chạy lại các kiểm tra liên quan khi sửa vai trò, thêm API hoặc đổi logic nghiệp vụ.

Khi nào cần kết hợp ABAC hoặc ReBAC?

RBAC phù hợp khi quyền bám tương đối ổn định theo công việc. Nếu phải tạo rất nhiều vai trò để biểu diễn từng khách hàng, tài liệu hoặc ngữ cảnh, nên xem xét mô hình bổ sung.

Mô hìnhCăn cứ quyết địnhVí dụ
RBACVai tròKế toán được lập hồ sơ thanh toán.
ABACThuộc tính người dùng, tài nguyên, hành động và môi trườngCho phép truy cập khi thuộc đúng đơn vị và đáp ứng điều kiện thiết bị theo chính sách.
ReBACQuan hệ với tài nguyênNgười được giao hoặc được chia sẻ mới được xem hồ sơ.

Các mô hình có thể kết hợp. Mục tiêu là diễn tả đúng chính sách và thực thi nhất quán, không phải thay RBAC chỉ vì mô hình khác linh hoạt hơn. Tham khảo NIST SP 800-162 về ABAC.

Câu hỏi thường gặp

RBAC có ngăn hoàn toàn rò rỉ dữ liệu không?
Không. Người có quyền hợp lệ vẫn có thể thao tác sai hoặc làm lộ dữ liệu. Cần kết hợp quản trị tài khoản, xác thực, nhật ký và các biện pháp bảo vệ phù hợp.

Có MFA rồi còn cần phân quyền không?
Có. MFA hỗ trợ xác minh danh tính; phân quyền quyết định danh tính đó được làm gì và với dữ liệu nào.

RBAC khác IAM và Zero Trust thế nào?
RBAC là một mô hình phân quyền. IAM bao quát quản lý danh tính và truy cập; Zero Trust là cách tiếp cận kiến trúc rộng hơn. Triển khai RBAC không tự đồng nghĩa đã triển khai đầy đủ hai phạm vi này.

Doanh nghiệp nhỏ có cần nhiều vai trò không?
Không. Bắt đầu bằng các nhiệm vụ thực sự khác nhau và quyền nhạy cảm cần tách. Mô hình ít vai trò nhưng rõ phạm vi, có kiểm thử và thu hồi quyền đúng lúc thường dễ vận hành hơn.