问题描述
在使用MongoDB时,只能采用SCRAM-SHA-1认证,不能采用MONGODB-CR认证 。 修改配置schema.currentVersion=3
时,出现以下报错。
WriteResult({
"writeError" : {
"code" : 13,
"errmsg" : "not authorized on admin to execute command {
update: \"system.version\", updates: [ { q: { _id: \"authSchema\" },
u: { _id: \"authSchema\", currentVersion: 3 },
multi: false, upsert: true } ], ordered: true }"
}
})
问题原因
MONGODB-CR认证方式存在安全问题,云数据库MongoDB版不支持该认证方式,只支持默认的SCRAM-SHA-1认证。
解决方案
该问题无解决方案,属于产品设计所限。
更多信息
SCRAM-SHA-1是当前推荐使用的认证方式,以下是SCRAM-SHA-1认证时的流程:
客户端发起一个SCRAM认证请求。
服务端发出一个挑战响应。
客户端响应一个证明数据和合并字符串。
服务端将存储的密钥结合随机参数,使用同样的算法生成签名并校验客户端证明数据。
客户端校验服务端签名数据。
SCRAM-SHA-1认证相比MONGODB-CR认证的优势有下列几个方面:
可灵活调整的安全系数。
每个用户有独立的随机系数。
更安全的HASH函数。
支持双向认证。
适用于
云数据库MongoDB版
文档内容是否对您有帮助?