- 新增 storage/policy.py 落盘策略:按大小/类型决定文件存 MinIO 或内联数据库 - 数据处理源文件与生成结果写入 MinIO 并登记 storage_objects,支持失败回滚 - 算力节点训练产物按版本归档到 MinIO,登记 model_artifacts - 数据转换任务输入输出对象化,支持从 MinIO 读写 - 新增审批中心(申请/我的/策略)、组织与权限、运行日志整合页面 - schema 与 docker 配置、前端路由侧边栏、治理文档同步更新 Co-Authored-By: Claude <noreply@anthropic.com>
121 lines
4.1 KiB
Markdown
121 lines
4.1 KiB
Markdown
# 平台治理菜单设计与开发计划
|
||
|
||
> 版本: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` 表。
|
||
- 不改变现有数据集、模型、训练、评测、推理的业务接口格式。
|