2.3 KiB
2.3 KiB
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_operationsOutbox 轮询连接。