問題描述
在使用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認證方式存在安全問題,ApsaraDB for MongoDB不支援該認證方式,只支援預設的SCRAM-SHA-1認證。
解決方案
該問題無解決方案,屬於產品設計所限。
更多資訊
SCRAM-SHA-1是當前推薦使用的認證方式,以下是SCRAM-SHA-1認證時的流程:
用戶端發起一個SCRAM認證請求。
服務端發出一個挑戰響應。
用戶端響應一個證明資料和合并字串。
服務端將儲存的密鑰結合隨機參數,使用同樣的演算法產生簽名並校正用戶端證明資料。
用戶端校正服務端簽名資料。
SCRAM-SHA-1認證相比MONGODB-CR認證的優勢有下列幾個方面:
可靈活調整的安全係數。
每個使用者有獨立的隨機係數。
更安全的HASH函數。
支援雙向認證。
適用於
ApsaraDB for MongoDB