服务公告

服务公告 > 数据与安全 > 数据库账号的最小权限实践

数据库账号的最小权限实践

发布时间:2026-06-24 11:20
## 适用场景 不少团队的应用直接用数据库的超级账号连接,一个配置错误或一次注入,攻击者就拿到了删库、读全库的能力。最小权限实践把每个应用的数据库账号压缩到只够完成自身业务,适合在任何一次误操作事故之前完成,改造成本低,收益立竿见影。 ## 步骤清单 第一步盘点现有账号,列出谁在用什么账号连数据库、实际执行哪些语句类型。第二步按应用拆号,每个应用一个独立账号,测试环境与生产环境再分开,禁止共用。第三步逐个授权,业务账号通常只需要增删改查,按库或按表授予,不给建表删表与授权权限。 ```sql GRANT SELECT, INSERT, UPDATE, DELETE ON appdb.* TO 'app_user'@'10.0.%'; ``` 第四步处理特殊需求,报表账号只读、迁移账号临时开高权限并在事后立即收回。第五步收掉默认账号与远程超级权限,超级账号只允许本机登录。 ## 验证方法 切换账号后,观察应用日志中的数据库报错,缺权限的语句会立刻暴露,逐条评估是补授权还是改代码。定期执行权限检查,确认没有账号在授权范围外漂移。用一份预期授权清单比对实际状态,漂移即时告警。 ## 注意事项 拆号是一次行为变更,灰度切换比一次全切稳妥,先在测试环境完整走一遍。密码随拆号一并更新,此后按周期轮换。授权粒度从粗到细渐进,按库授权够用就不必按列。顺云的云服务器与数据库同机房部署时,账号再叠加来源限制,只允许内网网段连接,攻击面又小一圈。 账号体系之外,还要管住连接来源与行为。生产库的连接尽量收敛到少数几台应用服务器,来源之外的连接直接拒绝;对高危操作设置二次确认或审批,即便拥有权限,清空数据这类动作也不该一个人随手完成。权限最小化解决的是能做什么,来源与流程约束解决的是在哪做、怎么做得更稳。

已经是第一篇啦!

下一篇: 长期运营服的降配与升级时机