MongoDB使用安全的sha256认证

背景:

使用MongoDB 3.2 仅支持默认SCRAM-SHA-1,不够安全需要使用SCRAM-SHA-256,但只有MongoDB4.0才支持。又因为3.2到4.0是大版本升级,云不支持在线升级,所以只能切换数据库做数据同步

步骤

  1. 申请一个新的MongoDB 4.0版本(4.0版本默认创建的用户都是sha256)

  2. 开启一个数据库迁移任务,数据库表迁移+全量迁移+增量迁移

迁移过程中,老账号仍然保持sha1的鉴权,如下图,所以要新建账号并且指定使用sha256的鉴权规则

  1. 创建用户指定sha256

    db.createUser({
    user: "appUser",
    pwd: "userPassword",
    roles: [{ role: "readWrite", db: "appdb" }],
    mechanisms: ["SCRAM-SHA-256"] // 指定SHA-2562,4
    })

  2. spring应用在连接串后加上?authMechanism=SCRAM-SHA-256即可,sdk会检测到要用sha256自动转换和mongodb服务器的密码对比。

    spring.data.mongodb.uri=mongodb://username:password@host:27017/database?authMechanism=SCRAM-SHA-256

切换后更新应用

待同步任务完全跑完,就可以停止任务,并且释放之前的mongodb

相关推荐
斑马13923 分钟前
Linux软件编程学习笔记(十三)——数据库
数据库·oracle
初願致夕霞37 分钟前
MySQL_索引
数据库·mysql
黎阳之光1 小时前
数字孪生赋能全域水网,实现水资源管控与节水降碳双向提升
人工智能·物联网·算法·安全·数字孪生
十六年开源服务商1 小时前
2026网站备份方案完整指南
数据库·oracle
福大大架构师每日一题1 小时前
mediamtx v1.21.0 发布:Media-over-QUIC、RTSP、HLS、WebRTC 与安全能力全面升级
安全·webrtc
xian_wwq1 小时前
【学习笔记】OWASP Agentic 应用安全(二)
笔记·学习·安全·owasp
一只小李郁vickie2 小时前
mysql 开启压缩传输3402条数据2.1秒压缩到毫秒级
数据库·mysql
张继雁2 小时前
张继雁 个人技术简介|磨削加工过滤方向
大数据·数据库·论文阅读·人工智能·机器学习·创业创新·业界资讯
IvorySQL2 小时前
PostgreSQL 日报|不重启动态修改 shared_buffers(9 月 8 日)
数据库·postgresql
这个DBA有点耶3 小时前
2026年做数据库开发,国产数据库已经是绕不开的选项了
数据库·dba·敏捷开发