审计 trace 与证据链
DBNginx 的审计目标是把一次数据库访问的主体、来源、资源、风险、策略动作和结果串成可复盘的证据链。
审计事件应包含什么
| 字段 | 说明 |
|---|---|
| trace_id | 一次访问或一组相关访问的追踪标识 |
| subject | 访问主体,来自用户、应用、角色或账号映射 |
| source | 来源地址、业务系统、工具类型或入口 |
| resource | 数据库、表、列、字段等级和租户资源 |
| sql_semantic | SQL 类型、动作、归一化语义和风险标签 |
| policy_hit | 命中的策略、规则、模型结果和策略版本 |
| action | allow、deny、rewrite、mask、watermark、encrypt、audit 等动作 |
| watermark_key | 水印或导出追踪标识 |
| crypto_ref | 密钥引用、密码设备或 KMS 调用摘要 |
| extension_ref | 扩展版本、输入摘要、返回结果和耗时 |
| result | 执行结果、错误码、耗时和上游信息 |
trace 的用途
- 解释一次访问为什么被允许或拒绝。
- 证明某个敏感字段是否被脱敏或加密。
- 还原一次报表导出或共享交付的责任主体。
- 回溯外泄样本对应的水印线索。
- 复盘 SQL 攻击、异常批量查询和越权访问。
- 支撑审计、内控、安全运营和问题整改。
查询维度
常见查询维度包括:
- 用户、角色、业务系统、来源地址。
- 数据库、表、列、数据等级、租户。
- SQL 动作、风险类型、策略版本。
- 水印 key、trace id、导出场景。
- 密码设备、密钥引用、调用结果。
- 链路动态扩展版本、返回结果、失败策略。
验收建议
每个试点场景至少保留以下审计样本:
- 正常允许访问。
- 未授权访问被拒绝。
- 敏感字段被脱敏。
- 水印写入并能回溯。
- 高危 SQL 被识别。
- 国密或密码设备调用成功。
- 链路动态扩展正常返回和异常回退。