Skip to content

Phân quyền & RBAC

Tổng quan mô hình phân quyền

Haravan Helpdesk sử dụng mô hình RBAC (Role-Based Access Control) của Frappe, mở rộng bằng:

  • Role Profile theo quy ước tên HD-{Department}-{Level}
  • User Permission để giới hạn dữ liệu theo department/team
  • Assignment Rule để tự động phân ticket theo agent_group

Role Profile Naming Convention

HD-{Department}-{Level}
DepartmentLevelRole ProfileVí dụ
CSAgentHD-CS-AgentAgent xử lý ticket CS thường
CSManagerHD-CS-ManagerQuản lý team CS
EcomAgentHD-Ecom-AgentAgent xử lý ticket Ecom
EcomManagerHD-Ecom-ManagerQuản lý team Ecom
AdminAdminHD-AdminQuản trị toàn hệ thống

Ma trận quyền chi tiết

Quyền theo vai trò

Tính năngAgentManagerAdmin
Xem ticket team mình
Xem ticket tất cả team
Xử lý / reply ticket
Chuyển ticket sang team khác
Quản lý agent trong team
Cấu hình Assignment Rule
Quản lý Server Script
Xem Error Log
Quản lý Site Config

User Permission Matrix

Cần giới hạnDocType filterMô tả
Team ticketHD Team → agent_groupAgent chỉ thấy ticket team mình
DepartmentDepartmentManager thấy tất cả ticket trong department
Full access(không set)Admin thấy tất cả

Cấp quyền cho agent mới

Bước 1: Tạo User

  1. Vào Setup > UserAdd User
  2. Nhập email, tên agent
  3. Set User Type = System User

Bước 2: Gán Role Profile

  1. Vào tab Roles của User
  2. Chọn Role Profile phù hợp (ví dụ: HD-CS-Agent)
  3. Role Profile sẽ tự động gán tất cả role cần thiết

Bước 3: Set User Permission (nếu cần giới hạn team)

  1. Vào Setup > User PermissionAdd
  2. User: (agent email)
  3. Allow: HD Team
  4. For Value: (tên team, ví dụ: "CS 60p")

Bước 4: Thêm vào HD Team

  1. Vào Helpdesk > HD Team → chọn team
  2. Thêm agent vào danh sách member
  3. Save

Assignment Rule và Routing

Ticket được route tự động theo agent_group:

RulePriorityĐiều kiệnTeam
Partner - ... - Support RotationCao nhấtagent_group == "Partner - ..."Partner team
AR02 - SME 9M Scale300agent_group == "Medium - Scale"Medium Scale team
AR03 - SME 9M Grow200agent_group == "Medium - Grow"Medium Grow team
AR04 - CS60p Fallback100agent_group == "CS 60p"CS 60p (mặc định)

Fallback rule

Nếu không xác định được team, ticket luôn fallback về CS 60p.

Kiểm tra phân quyền

  1. Đăng nhập bằng tài khoản agent cần kiểm tra
  2. Vào Helpdesk > HD Ticket — chỉ nên thấy ticket team mình
  3. Thử chuyển ticket — phải có quyền write
  4. Kiểm tra User Permission nếu agent thấy quá nhiều/ít ticket

Tham chiếu