Skip to content

PRD: Policy definition, danh mục permission & grant

ModulePhân quyềnPRD IDPRD-PERM-001
Trạng tháiSẵn sàng devFEATPERM · BANA-1435
EpicPlaneBANA-1549
Ngày2026-05-28Phiên bảnv1.0
Gói@nx/identityURDPERM
SurfaceBO · Vận hànhClient · Chủ/QL
Phụ tráchPhát Nguyễn

Policy definition, danh mục permission & grant là gì

Đội vận hành (ở Back Office) và merchant owner (ở team module) có một bề mặt quản lý cho mô hình authorization của BANA: bảo trì permission catalog và quản lý policy definition. Mô hình authorization của BANA - RBAC theo priority với phân quyền theo từng merchant (đã bật) - đã lưu permission catalog và các policy grant, và phần grant/revoke/effective-permission bên dưới cũng đã tồn tại từ trước. Thứ còn thiếu là một bề mặt dùng được để điều khiển chúng: đội vận hành không thể duyệt permission catalog, gắn hoặc gỡ permission, hay kiểm tra một policy áp dụng cho những role, user và merchant nào nếu không động trực tiếp vào dữ liệu.

Cấu trúc theo target

PRD này dựng bề mặt quản lý đó trên nền phần authorization hiện có: màn danh mục permission (danh sách / tạo / sửa) và màn policy definition được tổ chức thành các section theo target - mỗi section là một bố cục hai panel (danh sách đối tượng bên trái, các tab grant của đối tượng đang chọn bên phải) kèm dialog grant. Cùng bề mặt đó được nhân bản vào team module hướng đến merchant để owner quản lý policy trong phạm vi merchant của chính mình, được hỗ trợ bởi một đợt gắn nhãn song ngữ Anh/Việt.

Permission catalog quản lý qua ba màn: danh sách, tạo, sửa - mỗi permission có code duy nhất toàn hệ thống kèm subject, action, scope. Policy definition chia theo section target: chọn một user, một role, hoặc một merchant rồi grant/revoke permission qua bảng và dialog theo tab. Gán vai trò cho một người thao tác được từ ba lối vào - thẻ Phân quyền trong form Nhân viên tại trang Client, tab theo-người và tab theo-vai-trò trong policy definition - cả ba cùng ghi vào một tập grant.

Chỗ dễ sai nhất

Idempotent nghĩa là bỏ qua và đếm, không phải báo lỗi

Grant lặp lại một mục đã được cấp sẽ bị bỏ qua và được đếm, không bao giờ tạo bản ghi trùng - và cũng không báo lỗi. Gán role cho user có thể kèm domain tùy chọn để giới hạn phạm vi hiệu lực - bỏ trống thì hiệu lực toàn cục.

Owner tự quản lý policy trong phạm vi merchant của mình qua bản clone của bề mặt này trong team module - cùng logic theo target, không phải một bản fork riêng.

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.