RBAC 后台角色数据权限设计:商用代购系统后台安全权限落地
随着代购集运、反向海淘平台的运营团队人员增多,后台管理员账号会分为超级管理员、财务、运营、仓管、客服多个岗位,不同岗位需要查看的数据、操作的功能必须严格隔离,普通开源代购源码大多只有简单的账号密码登录,所有后台账号拥有全部数据权限,营收利润、用户隐私、线路成本数据可以被任意查看,存在极大的数据泄露风险。近期完成 Taocarts 后台 RBAC 角色权限体系的完整落地,实现菜单功能权限 + 数据字段权限双层管控,本篇聊聊适配跨境代购系统的权限设计方案,以及源码权限体系升级改造的思路。
RBAC 基于角色的权限控制,核心逻辑是「账号绑定角色,角色绑定权限」,不需要给每一个管理员账号单独配置权限,相同岗位的账号归属同一个角色,修改角色权限,所有下属账号同步生效,权限管理便捷高效。结合跨境集运平台的团队岗位,我们划分了五大标准角色:超级管理员、财务专员、运营专员、仓管人员、客服人员,每个角色匹配专属的功能菜单与数据查看范围,完全贴合实际运营分工。
第一层是菜单功能权限管控,控制角色可以访问哪些后台页面、可以执行哪些操作。比如仓管角色只能访问仓管入库、打包、运单管理模块,无法进入财务统计、用户管理页面;客服账号只能查看订单工单、用户基础信息,没有线路配置、商品定价的操作权限;财务角色可以访问营收统计、支付对账、费用报表模块,但是没有前台商品上架、物流线路新增的运营权限。接口层增加权限守卫拦截,哪怕知道后台接口地址,没有对应角色权限,会直接返回 403 无权访问,从接口入口拦截越权访问。很多源码只做了前端菜单隐藏,接口没有权限校验,手动调用接口可以越权访问后台数据,安全形同虚设。
第二层是更关键的数据字段权限过滤,也是商用系统的进阶能力,哪怕角色可以进入统计页面,后台会根据角色自动屏蔽敏感字段。比如运营专员可以查看订单数量、运单数量、线路下单量等运营指标,但是页面会自动隐藏平台净利润、物流渠道采购成本、整体营收总额等核心财务字段;仓管只能查看包裹重量、运单状态,看不到订单成交金额、用户充值余额;客服无法查看用户完整手机号、充值余额等隐私数据。数据在返回前端之前,后端拦截器完成字段过滤,前端无论如何调试,都无法拿到被屏蔽的敏感数据,双层防护杜绝数据越权查看。
针对高频的 Excel 报表导出功能,单独配置专属导出权限,只有超级管理员和财务角色,可以导出完整的财务营收报表,运营、客服角色即便可以查看页面数据,也没有报表下载导出的权限,防止批量导出业务数据外泄。所有后台的查看、导出、修改操作,都会完整留存操作日志,记录操作账号、IP 地址、操作时间、操作内容,一旦出现数据泄露、违规操作,可以完整溯源定位责任人。
权限后台可视化配置是易用性的关键,管理员可以在后台可视化新增角色、勾选权限菜单、配置数据白名单,权限修改即时生效,不需要修改代码、重启服务器。后续团队新增岗位、调整岗位职责,只需要在后台配置角色权限,运维成本极低。同时支持自定义白名单账号、临时权限有效期,适配临时外包人员、短期实习生的账号管控,到期自动回收权限。
对比市面上的代购源码,绝大多数仅实现了最基础的账号登录,完全没有 RBAC 角色权限体系,多人团队运营风险极高。Taocarts 这套双层权限架构,完美适配代购集运、跨境代购平台的商业化团队运营模式,从功能访问、数据查看、操作留痕三个维度,全方位保护平台商业营收数据、用户隐私数据安全。想要长期商业化运营跨境独立站,后台权限体系是必不可少的安全基建,尽早完善权限架构,才能规避内部数据泄露的各类风险。