feat: 平台治理与对象存储增强,审批中心与运行日志整合

- 新增 storage/policy.py 落盘策略:按大小/类型决定文件存 MinIO 或内联数据库
- 数据处理源文件与生成结果写入 MinIO 并登记 storage_objects,支持失败回滚
- 算力节点训练产物按版本归档到 MinIO,登记 model_artifacts
- 数据转换任务输入输出对象化,支持从 MinIO 读写
- 新增审批中心(申请/我的/策略)、组织与权限、运行日志整合页面
- schema 与 docker 配置、前端路由侧边栏、治理文档同步更新

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
wuyongtao
2026-08-19 16:10:02 +08:00
parent 81c2f85c3a
commit 78e3baa9ba
30 changed files with 1994 additions and 249 deletions

View File

@@ -1,9 +1,9 @@
# 平台治理功能使用指南
> 版本v1.1
> 日期2026-08-13
> 版本v1.3
> 日期2026-08-19
> 适用版本YG Fine-Tune Platform v1.0+
> 更新说明:移除页面权限码设计,改为基于角色的简化权限模型
> 更新说明:合并组织权限、审批和运行日志入口;取消项目空间菜单但保留旧接口兼容
---
@@ -40,28 +40,27 @@
### 1.3 入口在哪里?
所有治理功能集中在左侧导航栏的 **「系统设置」** 和 **平台治理」** 分组下:
治理、组织和运维功能按职责分布在左侧导航栏的 **平台治理」**、**「系统设置」** 和 **算力资源」** 分组下:
```
系统设置
├── 用户设置 ← 用户 CRUD + 角色权限 + 密码管理(仅 admin
├── 平台性能 ← 系统监控
└── 查看日志 ← 日志查看
平台治理
├── 租户管理 组织/团队(仅 admin
├── 项目空间项目级资源隔离(仅 admin
── 审批模板定义哪些操作需要审批(仅 admin
├── 审批中心 ← 处理待审批请求(仅 admin
└── 审计日志 ← 查看所有操作记录(仅 admin
├── 组织与权限用户与角色、租户与配额(仅 admin
├── 资源授权数据集、模型等资源授权(仅 admin
── 审批中心待审批请求与审批策略(仅 admin
系统设置
├── 平台性能 ← 系统资源监控
└── 运行日志 ← 运行日志、审计记录、操作诊断
算力资源
└── 算力节点 ← GPU 分配与管理(仅 admin
```
> ⚠️ 以上菜单**只有 admin 用户能看到**。普通用户登录后不会出现这些入口
> ⚠️ 平台治理、资源授权、审批中心和算力节点菜单仅 admin 用户能看到。运行日志入口继续沿用原权限,普通用户可查看系统/训练日志;审计记录和操作诊断页签仅 admin 可见
>
> **重要变更v1.1**:非 admin 用户**默认可以访问所有业务功能菜单**(模型训练、评测、推理、数据集、数据处理等),无需管理员单独分配权限。
> **重要变更v1.2**:非 admin 用户**默认可以访问所有业务功能菜单**(模型训练、评测、推理、数据集、数据处理等),无需管理员单独分配权限;治理和资源管理入口仍仅 admin 可见
> **当前菜单调整v1.3**:平台不再提供项目空间菜单和项目级操作入口。历史项目表、接口和旧地址仅作为兼容层保留,当前资源访问以用户所有权、租户边界(如启用)和资源 ACL 为准;新建业务资源不再要求项目字段。
---
@@ -73,24 +72,25 @@
| 用户类型 | 可见菜单 | 说明 |
|---------|---------|------|
| **admin管理员** | **全部菜单** | 包括用户设置、平台治理算力节点等管理功能 |
| **非 admin 用户** | **除管理功能外的所有业务菜单** | 模型训练/评测/推理、数据集、数据处理、日志等 |
| **admin管理员** | **全部菜单** | 包括组织权限、审批、运行日志、平台治理算力节点等管理功能 |
| **非 admin 用户** | **除管理功能外的所有业务菜单** | 模型训练/评测/推理、数据集、数据处理等 |
> **核心原则**
> - 非 admin 用户**默认拥有所有业务功能的访问权限**,无需单独分配
> - 仅以下功能**仅管理员可见**
> - `用户设置`(用户 CRUD、角色管理
> - `平台治理`租户管理、项目空间、审批模板/中心、审计日志
> - `平台治理 - 组织与权限`(用户、角色、租户与配额
> - `平台治理`资源授权、审批中心
> - `算力节点`GPU 分配)
> - `运行日志`中的审计记录和操作诊断
>
> 资源级别的访问控制通过 **ACL访问控制列表** 实现,详见第 4 章。
### 2.2 创建用户
**路径**`用户设置``创建用户`
**路径**`平台治理``组织与权限``用户与角色``创建用户`
1. 以 admin 身份登录平台
2. 进入「用户设置」页
2. 进入「组织与权限」页面的「用户与角色」页
3. 点击右上角「创建用户」按钮
4. 填写信息:
- **账号**:登录用户名(如 `zhangsan`
@@ -107,12 +107,10 @@
| 功能分组 | 包含菜单 | 路由前缀 |
|---------|---------|----------|
| 系统设置 - 用户设置 | 用户列表、创建用户、重置密码 | `/user-settings` |
| 平台治理 - 租户管理 | 租户列表、配额设置 | `/tenants` |
| 平台治理 - 项目空间 | 项目列表、成员管理、ACL | `/projects` |
| 平台治理 - 审批模板 | 审批流程定义 | `/approval-templates` |
| 平台治理 - 审批中心 | 待审批请求处理 | `/approval-instances` |
| 平台治理 - 审计日志 | 操作记录查询与导出 | `/audit-logs` |
| 平台治理 - 组织与权限 | 用户、角色、租户与配额 | `/organization` |
| 平台治理 - 资源授权 | 数据集、模型等资源 ACL | `/resource-acl` |
| 平台治理 - 审批中心 | 待审批请求、审批历史与策略 | `/approval-instances` |
| 系统设置 - 运行日志 | 系统/训练日志;管理员可查看审计记录、操作诊断 | `/logs` |
| 算力资源 - 算力节点 | GPU 分配与管理 | `/compute` |
### 2.4 重置用户密码
@@ -125,18 +123,18 @@
3. 输入新密码,确认
**方式二:用户自行修改**
1. 用户登录后在「用户设置」页点击「修改密码」按钮
1. 用户登录后在「组织与权限」页面的「用户与角色」页点击「修改密码」按钮
2. 输入旧密码 + 新密码(至少 6 位)
3. 确认修改
### 2.5 删除用户
**路径**`用户设置` → 用户列表 → 操作列「删除」
**路径**`组织与权限``用户与角色` → 用户列表 → 操作列「删除」
> ⚠️ 删除用户时会**级联清理**其所有关联数据:
> - 该用户创建的数据集、基座模型、微调产物、评测任务
> - 该用户的 ACL 授权记录、GPU 分配记录
> - 该用户的审批实例、审计日志、项目成员关系、登录会话
> - 该用户的审批实例、审计日志、历史项目成员关系、登录会话
> - **训练任务保留不删**(避免算力节点上的物理任务数据不一致)
---
@@ -148,7 +146,7 @@
当服务器有多张 GPU 卡(如 8×A800需要指定**哪个用户能用哪张卡**
- 避免两个人同时选同一张卡导致训练冲突
-团队/项目隔离算力资源
-用户和租户边界隔离算力资源
- 控制每个用户的 GPU 配额
### 3.2 分配 GPU仅 admin
@@ -259,7 +257,6 @@ curl -X PUT /modelTF/resources/dataset/ds_alpaca_id/acl \
| 删除他人的数据集 | 非 admin 删除别人创建的数据集 | 创建审批实例 或 admin 直接执行 |
| 删除他人的模型 | 非 admin 删除别人创建的模型 | 同上 |
| 停止他人的训练任务 | 非 admin 停止别人发起的任务 | 同上 |
| 归档/删除项目空间 | 存在待审批变更时 | 拒绝执行 |
**核心规则**admin 做任何操作都直接执行(旁路);普通用户操作他人资源时进入审批流程。
@@ -305,7 +302,7 @@ curl -X PUT /modelTF/resources/dataset/ds_alpaca_id/acl \
3. 决策:「通过」或「拒绝」
4. 决策结果自动执行对应操作并记录审计日志
**审批模板**`平台治理``审批模板`定义每种操作需要几步审批、每步谁来审。默认模板都是单步admin 审批即可)。
**审批策略**`平台治理``审批中心``审批策略`定义每种操作需要几步审批、每步谁来审。默认模板都是单步admin 审批即可)。
---
@@ -324,24 +321,29 @@ curl -X PUT /modelTF/resources/dataset/ds_alpaca_id/acl \
### 6.2 查询审计日志
**路径**`平台治理``审计日志`
**路径**`系统设置``运行日志``审计记录`
支持筛选条件:
| 筛选项 | 说明 |
|---|---|
| 操作人 | 按用户 ID 过滤 |
| 动作类型 | 如 `user.create`, `dataset.delete`, `gpu.assign` |
| 目标资源类型 | dataset / model / fine_tune_task 等 |
| 租户 | 按租户名称选择 |
| 操作人 | 按用户名称选择,不需要手工填写用户 ID |
| 动作类型 | 使用中文动作选择,例如创建数据集、删除模型、授予资源权限 |
| 目标资源类型 | 使用中文资源类型选择,例如数据集、模型、训练任务 |
| 关键词 | 模糊搜索目标 ID 或审计详情 |
| 目标 ID | 对指定资源 ID 进行精确查询 |
| 时间范围 | 开始时间 ~ 结束时间 |
项目筛选已移除。底层接口仍兼容历史 `project_id` 参数,但当前平台不再提供项目菜单。
### 6.3 导出审计日志
审计日志页面底部有「导出 CSV」按钮导出的文件包含当前筛选条件下的全部记录可用于合规审计或问题追溯。
运行日志的「审计记录」页签提供「导出 CSV」按钮「操作诊断」页签用于检索失败操作和接口耗时可用于问题追溯。
### 6.4 日志保留策略
审计日志受**留存策略**控制(`平台治理`租户管理 → 绑定留存策略)。默认保留 30 天,超期自动清理。
审计日志受**留存策略**控制(`平台治理``组织与权限``租户与配额`)。默认保留 30 天,超期自动清理。
---
@@ -351,7 +353,7 @@ curl -X PUT /modelTF/resources/dataset/ds_alpaca_id/acl \
根据 v1.1 权限模型:
1. **业务菜单**(训练、评测、推理、数据集等):普通用户**默认全部可见**,无需分配
2. **管理菜单**用户设置、租户管理、算力节点等**仅 admin 可见**,这是设计如此
2. **管理菜单**组织与权限、资源授权、审批中心、算力节点,以及运行日志中的审计/诊断页签**仅 admin 可见**,这是设计如此
如果普通用户看不到业务菜单,请检查:
- 用户是否正常登录token 是否有效)
@@ -402,7 +404,7 @@ curl -H "Authorization: Bearer platform-token-admin" \
### Q6: 用户忘记密码怎么办?
两种方案:
1. **admin 重置**:在「用户设置」→ 用户列表 →「重置密码」
1. **admin 重置**:在「组织与权限」→「用户与角色」→ 用户列表 →「重置密码」
2. **用户自助修改**:用户登录后点击「修改密码」(需知道旧密码)
如果是完全忘记且不是 admin只能由 admin 重置。