团队协作时,不是所有人都需要看到所有东西。这篇文档说明角色划分与权限分配。
现有角色
超级管理员。 系统的最高权限。能管理所有用户、所有节点、所有配置。通常只有一到两个人持有。
管理员。 能管理节点、订单、商品、内容、用户。不能修改系统级配置(如数据库连接、邮件服务),也不能授予或移除管理员角色。
普通用户。 只能看到自己名下的节点与订单。这是给终端客户的角色。
分销商。 在普通用户基础上,额外拥有分销中心——管理子站点、查看佣金、发起提现、查看名下客户。
权限的边界
权限控制分三层:
页面级。 没有对应角色就进不去那个页面,导航里也不显示入口。
接口级。 即使知道接口地址,没有权限也会返回 403。前端隐藏只是体验,真正的拦截在后端。
数据级。 普通用户请求节点列表,只会拿到自己的节点。请求别人的节点详情会返回"无权访问"。
三层都在做同一件事,看起来冗余,但缺任何一层都有洞。
为团队成员分配权限
进入「用户管理」,找到目标账号,在角色列调整。
重要限制:管理员不能授予或移除管理员/超级管理员角色。这个限制是为了防止越权——否则一个管理员可以把任何人(包括自己)提成超级管理员。
需要提权到管理员时,必须用超级管理员账号操作。
角色变更何时生效
角色变更立即生效,不需要对方重新登录。
原因在于每次请求都会重新查库确认角色。代价是每个请求多一次查询,收益是权限收紧能立刻落地——这在安全上是值得的。
停用账号
在「用户管理」里可以把账号设为停用。
停用后:
- 该账号的现有登录态立即失效(下一次请求返回 401)。
- 不能登录。
- 名下节点仍在采集,但账号无法查看。
停用不是删除。数据保留,随时可以恢复。
删除账号
删除是不可逆的。删除前需要先把名下的节点转移或删除——有节点归属的账号无法直接删除。
如果只是想让人不能登录,用停用,不要删除。
审计日志
所有管理操作都会记录在「审计日志」里,包含:
- 操作人
- 操作时间
- 操作类型(创建/修改/删除)
- 目标资源
- 请求来源 IP
日志不能修改或删除。出问题时它是唯一的追溯依据。
一个实践建议
按最小权限原则分配:
- 只做运维的同事,给管理员但明确告知不要碰计费相关。
- 只做客服的同事,其实只需要普通用户权限 + 一个只读的节点视图(如果需要)。
- 财务相关的操作(退款、调整余额)建议只保留给一到两个人。
权限给出去容易,收回来难——因为收回时对方已经习惯了。
—— Pi Admin X 团队
