定时任务告警权限审计
status: complete
created: 2026-07-19
complexity: 🟡中等
parent: code-copilot/changes/定时任务优化/spec.md
version: V6
dependency: 定时任务可靠性加固、定时任务运维日志监控
ui-baseline: code-copilot/changes/定时任务优化/ui-reference.md
1. 目标
在日志和执行摘要稳定后增加最终失败通知、细粒度资源权限和管理写操作审计。本版本不包含 Webhook、任务模板或开放 API。
2. 功能范围
3. 明确不做
- 不开放任意 Webhook;Webhook 必须等待定时任务出站安全。
- 不创建 MES 角色模板、任务模板或普通租户自助任务。
- 不开放外部 Token 或开放 API。
- 不发送任务参数、Token、完整响应或堆栈。
4. 数据和资源
- sys_job_config 增加 alarm_enabled、alarm_channels、alarm_recipient_user_ids。
- 创建 system:jobConfig:* 和 system:jobLog:* 基础权限及对应 API 资源。
- 所有新增资源和字典 tenant_id=1,并使用 NOT EXISTS。
- 不创建固定业务角色,只提供可分配权限资源。
5. 告警与审计规则
- 只有最终 FAILED 执行触发一次告警。
- 告警包含任务名、任务组、执行 ID、失败时间、安全摘要和详情入口。
- 消息中心不可用不得改变任务执行结果,但必须记录结构化 ERROR 和告警失败指标。
- 操作审计记录安全裁剪后的关键前后值,不记录任务参数和敏感执行结果。
6. 验收标准
- 不同资源权限可以区分配置、执行、日志查看和敏感详情。
- 重试后最终成功不告警,最终失败只告警一次。
- 消息发送失败不覆盖任务执行状态。
- 所有管理写操作均能查询到操作审计。
7. 确认门禁