跳转至

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 用例:

  1. RLS-01:cus_demo_01 登录 → 尝试查看 cus_demo_02 订单 → 必须 403(或返回空列表)
  2. RLS-02:wkr_senior_01 → 尝试查看 wkr_mid_01 承接的历史订单 → 必须 403
  3. RLS-03:b2b_corp_01 → 尝试访问 cus_demo_01(非 B2B 池)订单 → 必须 403
  4. RLS-04:ol_admin → 可访问所有订单(26 基线全部可见)
  5. RLS-05:dt_backdoor(BD Token)→ 应绕过 RLS / BD-05 能列出 17 账号
  6. RLS-06:fl_fin_01 → 仅能访问已收款 + 已退款订单的财务明细(订单其他字段 RLS 过滤)

四、密码策略与安全

  1. 复杂度:≥ 12 位,大写 + 小写 + 数字 + 特殊字符中 ≥ 3 类
  2. 有效期:90 天强制更换;TL/BO/FL 权限账号 30 天更换
  3. 登录锁定:连续 5 次失败锁定 30min(UFCS_MAX_ATTEMPTS_PER_IP=5 的账号级扩展)
  4. 双因子:生产所有 TL/BO/PO/ML/FL 账号开启 TOTP(MFA);UAT 环境关闭以便快速回归
  5. 密码传输:HTTPS 强制(阿里云生产 TLS 1.3);passlib bcrypt cost=14;数据库不存储明文(仅 bcrypt hash)
  6. 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 策略。