DBNginx 简介
DBNginx 是一个 Nginx 风格的数据访问网关,用于在数据库访问路径上统一执行认证、授权、SQL 防护、重写、脱敏、水印、国密、密码设备调用、链路扩展和审计。
DBNginx 的核心价值是把数据库访问治理放到统一入口,在一条链路里完成策略判断、动作执行和证据留存。
解决什么问题
企业数据库访问常见问题包括:
- 数据库侧账号过多,无法按人、角色、来源、时间窗口和资源范围细粒度管理。
- 研发、运维、BI、客服、运营、合作取数等入口分散,安全策略难以统一。
- 敏感字段散落在多个库表,脱敏、加密、水印和审计分散在不同应用里。
- 数据库日志只看到账号和 SQL,难以说明真实主体、业务来源和策略结果。
- 透明加解密改造需要应用逐个改代码,密码卡、密码机和 KMS 调用难以统一审计。
- 国产数据库、商业数据库、云数据库和本地分布式数据库并存,策略随数据库产品割裂。
DBNginx 通过统一入口和链式策略执行,把这些问题收敛到网关侧。
核心能力
| 能力 | 说明 |
|---|---|
| 统一入口 | 收敛应用、报表、运维工具和共享取数链路 |
| 身份映射 | 把应用账号、个人账号、来源地址和业务系统映射为访问主体 |
| SQL 防火墙 | 结合规则、启发式识别和模型识别发现高危 SQL |
| SQL 重写 | 根据策略自动补充过滤条件、路由标签或访问约束 |
| 数据保护 | 对敏感字段执行脱敏、水印、行列控制、透明加解密 |
| 密码设备 | 对接密码卡、密码机、HSM、KMS 和主流国密生态 |
| 链路动态扩展 | 补充业务上下文、轻量规则、路由标签和审计字段 |
| 审计回溯 | 记录主体、资源、SQL 语义、策略决策、trace id 和结果 |
与传统数据库代理的区别
| 对比项 | DBNginx | 传统代理或轻脚本网关 |
|---|---|---|
| 目标 | 数据访问治理 | 连接转发或简单路由 |
| 策略 | 认证、防护、改写、保护、审计一体化 | 多为分散配置或应用内逻辑 |
| 扩展 | 链路扩展点,纳入版本、超时、审计和回滚 | 旁路逻辑容易游离于主策略链之外 |
| 审计 | 能解释主体、资源、动作、命中策略和结果 | 常停留在 SQL 文本和数据库账号 |
| 交付 | 可从场景试点逐步扩展到生产治理 | 容易变成单点功能改造 |
典型落地方式
建议按以下路径推进:
- 选择一个低风险但有代表性的业务链路。
- 收集业务系统、数据库资源、用户角色、敏感字段和审计要求。
- 先以只审计方式接入,观察真实访问情况。
- 分阶段开启拒绝、限流、脱敏、水印、国密和扩展逻辑。
- 用可复现业务用例验收连接、权限、保护、审计和回滚。