Danh bạ user cục bộ workspace, phiên đăng nhập, PAT có scope và UI gán quyền. Sau hợp nhất: iam chỉ giữ định danh & token — mọi quyền nằm ở engine rt_role (một nguồn sự thật).
| Feature | BO chính | Action |
|---|---|---|
| user | Người dùng workspace (map từ SSO CP) | viewcreateeditreset |
| session | Phiên đăng nhập WS (JWT cục bộ) | viewrevoke |
| token | Access Token (PAT) scope + hạn | viewcreatedeleterevoke |
| role-admin | Gán vai trò (đọc/ghi engine rt_role) | viewassignconfigure |
Permission key theo convention iam.<group>.<feature>.<action>. fields/scopeVars theo plan data-scope (manifest v1.1).
| Trường | Kiểu | Bắt buộc | Ghi chú |
|---|---|---|---|
| Global user id | text | ✔ | Từ CP SSO — không lưu mật khẩu tại WS |
| Username | text | ✔ | Duy nhất trong workspace |
| Email / SĐT | text | — | Hiển thị + liên hệ |
| Trạng thái | bool | ✔ | Hoạt động / khóa |
| Lần đăng nhập cuối | datetime | — | — |
| Trường | Kiểu | Bắt buộc | Ghi chú |
|---|---|---|---|
| Tên token | text | ✔ | Mô tả mục đích (vd connector DAT) |
| Token hash | text | ✔ | Chỉ lưu hash — không xem lại được giá trị |
| Scope | list permission | ✔ | Quyền hiệu lực = giao(scope, quyền chủ token) |
| Ngày hết hạn | date | ✔ | Bắt buộc — không có token vĩnh viễn |
| Lần dùng cuối | datetime | — | Phát hiện token bỏ quên |
| Trạng thái | enum | ✔ | hoạt động / đã thu hồi |
| Trường | Kiểu | Bắt buộc | Ghi chú |
|---|---|---|---|
| Người dùng | ref user | ✔ | — |
| Vai trò | ref rt_role | ✔ | Engine là nguồn — iam chỉ là UI |
| Người gán / thời gian | ref·datetime | ✔ | Nhật ký thay đổi quyền |
Vai trò theo WS0. R xem · W tạo/sửa · A duyệt · — không có quyền.
| Feature | QTHT | GIAM_DOC | QL_DAO_TAO | TUYEN_SINH | GIAO_VU | GIAO_VIEN | KE_TOAN | NHAN_SU |
|---|---|---|---|---|---|---|---|---|
| user | W | R | — | — | — | — | — | — |
| session | W | R | — | — | — | — | — | — |
| token | W | R | R² | R² | R² | R² | R² | R² |
| role-admin | W·A | R | — | — | — | — | — | — |
¹ chỉ bản ghi mình phụ trách · ² chỉ của chính mình · W·A = tạo/sửa + duyệt
Token: mỗi user tự quản token của chính mình (²); QTHT quản toàn bộ.