04-账号与权限(RBAC × RLS × 17 Demo 账号)¶
【重建推定版 V1.0】 / DOC-BT-04 / 版本 V1.0(2026-08-21 听写重建) 依据:COLLAB-02 §v3 种子 + DIP1-UAT §三 推荐测试账号
一、17 个 Demo 账号清单(v3_seed.py)¶
所有账号初始密码 = V3.3 默认
Dip1@2026(UAT 环境)。上线前生产必须强制改密;所有账号密码通过 ON CONFLICT DO NOTHING 幂等插入。
| # | 账号 ID | 角色(GLY 缩写) | 显示名 | 入口 | 典型测试用例 |
|---|---|---|---|---|---|
| 1 | tl_guo |
TL(项目负责人) | 郭总(TL) | 运营后台 Web | UAT 启动/关闭签字、P0/P1 缺陷定级、紧急改派 |
| 2 | bo_szeto |
BO(业务负责人) | 司徒总(BO) | 运营后台 Web | 业务范围评审、报价参数调整、客户投诉终审 |
| 3 | po_zeng |
PO(产品负责人) | 曾总(PO) | 运营后台 Web | 字段映射、CPT-F 表单变更、MDS 四库审核 |
| 4 | ol_admin |
OL(运营) | 黄总(OL 管理员) | 运营后台 Web | 8 阶段全流程操作、派单改派、客户回访 |
| 5 | ol_ops_01 |
OL(运营专员) | 洪哥(运营专员) | 运营后台 Web | 订单看板、DSP 派单、L6 抽检 |
| 6 | ml_mds_01 |
ML(主数据管理员) | 成文(MDS) | 运营后台 Web | MDS 四库维护:SCL 品类/BPL 楼宇/WPL 师傅/CPL 客户 |
| 7 | fl_fin_01 |
FL(财务负责人) | 财务 01 | 运营后台 Web | 收款对账、发票开具、返修收费分档 |
| 8 | cus_demo_01 |
CUS(C 端客户 - 标准) | 陈先生(C 标准) | 客户小程序 RN | C 端标准报价流 S7-1:final 1141.60 HKD |
| 9 | cus_demo_02 |
CUS(C 端客户 - 异常) | 李女士(C 异常) | 客户小程序 RN | 异常报价、取消(<24h)、返修 30 天内 |
| 10 | cus_demo_03 |
CUS(C 端客户 - 跨境) | 王太(跨境 B2B2C) | 客户小程序 RN | B2B2C 跨境、LGD 跨境 ETA、双币种结算 |
| 11 | b2b_corp_01 |
B2B(B 端合作客户) | 宜家(香港 B2B) | 客户后台 Web | B 端批量下单、合作折扣、MFR 家具安装专项 |
| 12 | wkr_senior_01 |
WKR(师傅 - 高级) | 陈师傅(高级 WPL 3 级) | 师傅端 App RN | 到店打卡、L6 作业规范、NPS=9 场景 |
| 13 | wkr_mid_01 |
WKR(师傅 - 中级) | 李师傅(中级 WPL 2 级) | 师傅端 App RN | DSP 推荐派单排序第 2 位、改派承接 |
| 14 | wkr_junior_01 |
WKR(师傅 - 初级) | 王师傅(初级 WPL 1 级) | 师傅端 App RN | 新师傅接单、培训期账号限制 |
| 15 | wkr_special_01 |
WKR(MFR 专项认证) | 张师傅(MFR 家具专项) | 师傅端 App RN | MFR 宜家 PAX 衣柜认证、L6 作业规范专项 |
| 16 | sp_supplier_01 |
SPO(供应商伙伴) | 某物流(LGD 合作) | LGD 后台 Web | LGD ETA 推送、逆向物流回收追踪 |
| 17 | dt_backdoor |
DT 后门(听写专用) | 听写 BD-账号(内置) | 仅限后端 API | BD-01~06 后门 6 端点专用(不开放 Web UI,仅限 API Token) |
二、RBAC 六类角色权限矩阵(运营后台 Web)¶
| 模块(菜单) | TL | BO | PO | OL | ML | FL |
|---|---|---|---|---|---|---|
| 订单看板(8 阶段 × 4 池) | ✅ 全 | ✅ 只读 | ✅ 只读 | ✅ 全 | ❌ | ❌ 只读 |
| QSV 报价引擎(报价试算/调整) | ✅ | ✅ 审核 | ❌ | ✅ 操作 | ❌ | ✅ 只读 |
| CPT 跟踪服务(阶段流转) | ✅ 全 | ✅ 只读 | ✅ 只读 | ✅ 操作 | ❌ | ❌ |
| DSP 派单引擎(推荐师傅/改派) | ✅ 改派终审 | ✅ 审核 | ❌ | ✅ 操作 | ❌ | ❌ |
| LGD 物流管理 | ✅ | ✅ 审核 | ❌ | ✅ 操作 | ❌ | ✅ 只读 |
| MFR 专项(L6 作业规范) | ✅ | ✅ | ✅ 审核 | ✅ 抽检 | ❌ | ❌ |
| MDS 四库(SCL/BPL/WPL/CPL) | ✅ 审核 | ✅ | ✅ 终审 | ❌ | ✅ 全 | ❌ |
| UFCS 统一表单(模板管理) | ✅ | ✅ | ✅ 终审 | ✅ 使用 | ❌ | ❌ |
| OPS 运营(6 获客/口碑池) | ✅ | ✅ | ✅ 审核 | ✅ 全 | ❌ | ❌ |
| 财务结算(收款对账/发票) | ✅ 终审 | ✅ 只读 | ❌ | ✅ 操作 | ❌ | ✅ 全 |
| BD 听写后门 | ✅ 开关 | ❌ | ❌ | ❌ | ❌ | ❌ |
| 系统管理(用户/RBAC/RLS) | ✅ 全 | ❌ | ❌ | ❌ | ❌ | ❌ |
三、RLS 行级安全(多租户隔离策略)¶
3.1 行级可见范围¶
| 角色 | 可见订单行 | 可见客户档案 | 可见师傅档案 |
|---|---|---|---|
| TL / BO / PO / FL | 全订单(无 RLS 过滤) | 全部客户 | 全部师傅 |
| OL / ML | 本团队全部 | 全部 | 全部 |
| CUS 客户账号 | 仅自身 + 自己推荐的客户订单(CPL 推荐关系链) | 仅自己 + 自己推荐 | 不可见(CPT 阶段师傅信息脱敏) |
| B2B 企业账号 | 仅本企业关联订单 + 子账号订单 | 仅本企业客户池 | 不可见 |
| WKR 师傅账号 | 仅已接单 + 历史承接订单 | 承接订单对应的客户(仅必要字段) | 仅自己 + 同团队师傅 |
| SPO 供应商账号 | 仅 LGD 指派的物流单 | 对应物流单客户 | 不可见 |
3.2 RLS 验证方法(UAT 前置必做)¶
每个场景执行 RLS-01~RLS-06 用例:
- RLS-01:cus_demo_01 登录 → 尝试查看 cus_demo_02 订单 → 必须 403(或返回空列表)
- RLS-02:wkr_senior_01 → 尝试查看 wkr_mid_01 承接的历史订单 → 必须 403
- RLS-03:b2b_corp_01 → 尝试访问 cus_demo_01(非 B2B 池)订单 → 必须 403
- RLS-04:ol_admin → 可访问所有订单(26 基线全部可见)
- RLS-05:dt_backdoor(BD Token)→ 应绕过 RLS / BD-05 能列出 17 账号
- RLS-06:fl_fin_01 → 仅能访问已收款 + 已退款订单的财务明细(订单其他字段 RLS 过滤)
四、密码策略与安全¶
- 复杂度:≥ 12 位,大写 + 小写 + 数字 + 特殊字符中 ≥ 3 类
- 有效期:90 天强制更换;TL/BO/FL 权限账号 30 天更换
- 登录锁定:连续 5 次失败锁定 30min(UFCS_MAX_ATTEMPTS_PER_IP=5 的账号级扩展)
- 双因子:生产所有 TL/BO/PO/ML/FL 账号开启 TOTP(MFA);UAT 环境关闭以便快速回归
- 密码传输:HTTPS 强制(阿里云生产 TLS 1.3);passlib bcrypt cost=14;数据库不存储明文(仅 bcrypt hash)
- DT 后门:DT_BACKDOOR_TOKEN 生产默认
false,临时启用有效期 ≤ 8h,启用需 TL 手写审批并写 DTL 留痕
本文档为【重建推定版】,§一 17 账号清单来源于 COLLAB-20260820-02 §B3 v3_seed 组成(17 demo 账号);§二 权限矩阵来源于 RQD-O §干系方矩阵和 PJM §RACI 表;§三 RLS 来源于 DIP1-Schema 数据库详细设计 §RLS 策略。