Ở phần 27, khi tạo người dùng bạn chọn "quyền theo app" bằng vài ô. Đằng sau những ô đó là nhóm quyền (Groups) — cơ chế phân quyền thật của Odoo. Bài này hé lộ cơ chế để bạn hiểu mình đang cấp gì, và khi nào cần tinh chỉnh sâu. Đây là bài hơi kỹ thuật, cần bật Chế độ nhà phát triển trước.
Nhóm quyền = túi quyền
Ý tưởng gốc rất đơn giản: mỗi nhóm là một gói quyền có sẵn. Gán một người dùng vào nhóm nào thì họ có đúng quyền của nhóm đó. Cái ô "Dự án: Người dùng" bạn chọn ở phần 27 thực chất là đưa user vào nhóm "Dự án / Người dùng" — không có gì huyền bí.
Bật developer mode rồi vào Cài đặt → Kỹ thuật → Nhóm để thấy danh sách:

Hình 1: Danh sách Nhóm. Cột Quyền hạn cho biết nhóm thuộc mảng nào (Dự án, Liên hệ, Xuất...), cột Tên là tên nhóm (Người dùng, Quản trị viên, Tạo...). Ví dụ "Dự án / Người dùng" và "Dự án / Quản trị viên" là hai mức quyền của app Dự án mà bạn đã thấy dưới dạng ô chọn.
Access Rights — được làm gì trên từng bảng
Mở một nhóm ra, sang tab Quyền truy cập (Access Rights), bạn thấy phần lõi của phân quyền:

Hình 2: Tab Quyền truy cập của nhóm "Dự án / Quản trị viên". Mỗi dòng là một model (bảng dữ liệu: Dự án, Mốc thời gian dự án, Tài khoản phân tích...), và bốn cột Quyền xem / Ghi / Tạo / Xóa quy định nhóm này được làm gì trên bảng đó. Để ý dòng "Chia sẻ dự án" có Xem/Ghi/Tạo nhưng không có Xóa — quyền được cắt tới từng thao tác.
Đây là tầng quyền theo loại dữ liệu: nhóm này đọc được bảng nào, ghi được bảng nào, tạo/xoá được bảng nào. Nhớ bốn chữ Xem – Ghi – Tạo – Xóa (CRUD) là hiểu bảng này.
Còn Record Rules — thấy bản ghi nào
Access Rights nói "được đụng vào bảng Đơn hàng", nhưng thấy đơn nào trong bảng đó là việc của tab Quy tắc truy cập (Record Rules). Ví dụ: một nhân viên bán hàng được ghi vào bảng Đơn hàng (Access Rights cho phép), nhưng Record Rule giới hạn họ chỉ thấy đơn của chính mình, không thấy đơn của người khác.
Hai tầng ghép lại:
| Tầng | Trả lời câu hỏi |
|---|---|
| Access Rights | Được làm gì (xem/ghi/tạo/xoá) trên loại dữ liệu nào? |
| Record Rules | Trong loại đó, được thấy những bản ghi nào? |
Người mới nên đụng tới mức nào
Lời khuyên thẳng thắn: đừng sửa Access Rights trực tiếp trừ khi thật sự cần. Với 99% trường hợp, cách an toàn là dùng các ô chọn quyền trong form người dùng (phần 27) — Odoo tự đưa user vào đúng nhóm. Vào sửa ma trận này mà nhầm một ô là có thể khoá nhầm người ta khỏi việc họ cần, hoặc mở nhầm quyền không nên có.
Chỉ khi bạn cần một mức quyền đặc thù mà các nhóm có sẵn không đáp ứng, mới nên tạo nhóm mới và tự đặt Access Rights — và khi đó hãy thử kỹ với một tài khoản test trước.
Nhớ ba ý
- Nhóm quyền = túi quyền; gán user vào nhóm là cấp quyền — chính là các ô ở phần 27.
- Access Rights = được Xem/Ghi/Tạo/Xóa trên từng model; Record Rules = thấy bản ghi nào.
- Người mới cứ dùng ô chọn trong form user, đừng sửa thẳng ma trận trừ khi cần và đã test.
Xong bài này bạn hiểu bộ máy phân quyền của Odoo — đủ để cấp quyền tự tin và không khoá nhầm ai. Phần sau ta xem phân quyền theo từng ứng dụng một cách thực dụng — cấp đúng quyền cho từng vai trò công việc.