Files
YG_FT/docs/platform-governance-menu-design.md

121 lines
4.1 KiB
Markdown
Raw Permalink Normal View History

# 平台治理菜单设计与开发计划
> 版本v1.0
> 日期2026-08-19
> 状态:按本文档实施
## 1. 设计结论
当前项目已经有用户所有权、资源 ACL、租户接口和审计接口但项目隔离尚未真正落地。核心资源的 `project_id` 当前没有有效业务数据,训练、评测、推理和数据集创建流程也没有统一的项目上下文。
因此当前版本取消项目层级设计,资源权限统一采用:
```text
用户所有权 + 资源 ACL + 租户边界(可选)
```
项目相关数据库表和后端接口暂不物理删除,仅作为历史兼容能力保留,后续不再新增项目数据,也不在前端提供项目入口。
## 2. 最终菜单
```text
平台治理
├── 组织与权限
├── 资源授权
└── 审批中心
系统设置
├── 平台性能
└── 运行日志
├── 系统日志
├── 训练日志
├── 审计记录
└── 操作诊断
算力资源
└── 算力节点
```
### 2.1 组织与权限
使用页签统一承载:
- 用户与角色:用户 CRUD、启停、密码、角色。
- 租户与配额租户、GPU 配额、存储配额和资源数量配额。
用户、租户和配额仍使用独立表和接口,不把组织配额字段混入用户表。单租户部署时可默认停留在“用户与角色”页签。
### 2.2 资源授权
保留当前资源 ACL 能力,支持数据集、训练模型等资源的 `read/write/execute/download/delete/admin` 权限。项目不再作为授权前置条件。
### 2.3 审批中心
统一使用页签承载:
- 待审批/审批历史。
- 我的申请。
- 审批策略,仅管理员可见。
“审批策略”不再作为独立一级菜单。
### 2.4 运行日志
在现有系统日志、训练日志基础上增加:
- 审计记录:写操作、授权、审批、删除、导出等敏感操作。
- 操作诊断:失败操作、错误类型和接口耗时。
“审计中心”不再作为独立菜单。旧的 `/audit-logs``/operation-logs` 地址保留重定向。
## 3. 兼容策略
| 原入口 | 新入口/处理方式 |
|---|---|
| `/user-settings` | 重定向到 `/organization?tab=users` |
| `/tenants` | 重定向到 `/organization?tab=tenants` |
| `/approval-templates` | 重定向到 `/approval-instances?tab=strategies` |
| `/audit-logs` | 重定向到 `/logs?tab=audit` |
| `/operation-logs` | 重定向到 `/logs?tab=operations` |
| `/projects` | 移除前端入口;旧地址重定向到组织与权限 |
后端的租户、项目、审批、ACL、审计 API 暂不删除,保证已有脚本和历史客户端不立即失效。数据库不执行删表操作,也不新增项目字段迁移。
## 4. 开发计划
### 阶段一:导航和页面聚合
1. 新增“组织与权限”聚合页面。
2. 新增“审批中心”聚合页面。
3. 扩展“运行日志”页面,加入审计和操作诊断页签。
4. 调整侧边栏,只展示最终菜单。
### 阶段二:兼容旧入口
1. 旧用户、租户、审批策略、审计和操作日志路由改为重定向。
2. 保留原页面组件、API 和后端路由,避免历史调用失效。
3. 项目路由不再作为业务入口,不再新增项目数据。
### 阶段三:权限和功能检查
1. 管理员可以访问组织、租户、配额、审批、审计和 ACL。
2. 普通用户不能访问平台治理菜单;运行日志基础页签继续保持原有访问权限。
3. 审批策略页签仅管理员可见。
4. 审计和操作诊断仍保留管理员可见能力。
5. 数据集、模型、训练、评测、推理继续使用用户所有权和 ACL不增加项目选择器。
### 阶段四:验证
- `npm run build`
- 检查旧路由重定向。
- 检查管理员菜单显示。
- 检查非管理员权限拦截。
- 检查 Backend 健康接口和前端静态资源。
## 5. 暂不处理事项
- 不删除 `projects``project_members` 表。
- 不删除后端项目模块,避免历史数据和接口调用中断。
- 不把租户配额字段直接合并到 `users` 表。
- 不改变现有数据集、模型、训练、评测、推理的业务接口格式。