問題描述
在使用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版
文檔內容是否對您有幫助?