Files
model-platform/docs/database/A卡运维数据库-DBA授权申请-V0.1.md
T

47 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# A 卡运维数据库 DBA 授权申请 V0.1
> 目标:现有 `model_platform` 保持不变,新建 `model_operations`。以下为权限范围说明,不包含真实账号名和口令。
## 1. 运维后端
- 现有 `DATABASE_URL`:沿用平台后端连接,用于认证、工作空间和存储;运维代码只查询必要字段。
- 新增 `OPERATIONS_DATABASE_URL`:连接 `model_operations`,读写运维业务表。
- 不申请对 `model_platform` 新增、修改或删除表结构。
建议平台库最小读取范围:
| 表 | 字段/用途 |
|---|---|
| `users` | `user_id/display_name/status/platform_role_id/is_deleted`,明确排除 `password_hash` |
| `roles` | `role_id/role_code/role_name/role_scope/is_deleted` |
| `workspaces` | `workspace_id/workspace_code/workspace_name/status/is_deleted` |
| `workspace_members` | `workspace_id/user_id/role_id/member_status/is_deleted` |
| `storage_objects` | 文件元数据;优先通过现有存储服务访问 |
| `versions/scripts` | 可选关联开发制品,不作为业务模型主数据 |
| `schedules/schedule_runs` | 可选关联模型计算任务,只读运行状态 |
## 2. 模型数据写入方
建议为模型任务使用独立 `MODEL_WRITER_DATABASE_URL`
- `SELECT``ops_model_categories` 和 7 张模型源表。
- `INSERT/UPDATE``ops_banks``ops_model_instances``ops_model_versions``ops_monitor_batches``ops_monitor_results``ops_monitor_feature_metrics``ops_monitor_distributions`
- `INSERT``ops_outbox_events`,事件类型限定为 `monitor_batch.published`
- 不授予 `DELETE`,不授予 15 张运维业务表写权限。
已发布批次后的源结果不可修改,该限制还需由写入服务校验;MySQL 表级授权本身无法按行状态限制 `UPDATE`
## 3. 架构迁移账号
- 仅在发布窗口使用,可对 `model_operations` 执行 DDL 和种子数据脚本。
- 不作为应用运行账号保存到服务配置。
- 不授予对 `model_platform` 的 DDL 权限。
## 4. 审核项
- MySQL 版本需为 8.0,字符集 `utf8mb4`,排序规则 `utf8mb4_0900_ai_ci`
- 确认新库备份、恢复、容量告警和慢查询策略。
- 确认两套连接池上限,避免同一 FastAPI 进程挤满数据库连接。
- 确认 Schedule Executor 何时增加 `model_operations` Outbox 轮询连接。