数据库共享访问
数据库共享访问适合数据平台、运营分析、客服查询、风控、合作部门和跨团队自助取数。目标是在不为每个使用方分配数据库账号的情况下,让用户按业务身份、角色、时间窗口和资源范围访问共享数据库资源。
典型问题
- 数据库侧账号越来越多,离职、转岗、临时授权难以及时失效。
- 用户拿到数据库账号后权限过大,难以限制库、表、列、行和 SQL 动作。
- 共享查询压到生产主库,影响核心业务。
- 访问记录只看到数据库账号,看不到真实用户和业务来源。
- 为了隔离使用,反复把数据 ETL 到小库,增加成本和数据不一致风险。
DBNginx 处理方式
- 数据库侧保留少量托管账号。
- 用户侧通过 DBNginx 完成身份映射和权限判断。
- 按角色、来源、资源、时间窗口、数据等级和 SQL 动作授权。
- 高成本查询分流到只读库、报表库或分析资源池。
- 所有访问写入审计事件,包含真实主体和策略结果。
策略建议
| 策略项 | 建议 |
|---|---|
| 主体 | 绑定用户、角色、业务系统、来源地址 |
| 资源 | 限定库、表、列、行、租户和数据等级 |
| 时间 | 临时授权必须有生效和失效时间 |
| 动作 | 明确查询、导出、写入、批处理边界 |
| 输出 | 对敏感字段执行脱敏、水印或拒绝 |
| 路由 | 报表和批处理优先分流到非主库资源 |
验收用例
- 授权用户能访问指定库表。
- 未授权用户被拒绝,拒绝原因可解释。
- 临时授权到期后自动失效。
- 敏感字段按角色脱敏或拒绝。
- 高消耗查询命中只读库或报表资源。
- 审计事件能还原真实用户、来源、SQL 语义和访问结果。