驗證是驗證用戶端身份的過程。 當啟用存取控制(即授權)時,MongoDB要求所有用戶端進行身份驗證,以確定其存取。
雖然認證和授權密切相關,但認證與授權不同。認證是驗證使用者的身份; 授權確定驗證的使用者對哪些資源和操作的存取。
要驗證使用者,可參考MongoDB提供的db.auth()方法。
對於mongo shell和MongoDB工具,還可以通過從命令列傳遞使用者身份驗證資訊來驗證使用者。
MongoDB支援許多身份驗證機制,用戶端可以使用它們來驗證身份。 這些機制允許MongoDB整合到現有的身份驗證系統中。
MongoDB支援多種認證機制:
MongoDB質詢和響應(MongoDB-CR)。MongoDB 3.0版本更改:3.0中建立的新質詢響應使用者將使用SCRAM-SHA-1。 如果使用MongoDB 2.6的使用者資料,MongoDB 3.0將繼續使用MONGODB-CR。
MongoDB Enterprise除了支援上述機制外,還支援以下機制:
除了驗證用戶端的身份之外,MongoDB還可以要求副本集和分片叢集的成員對其各自的副本集或分片叢集進行身份驗證。 有關詳細資訊,請參閱內部認證。
在分片叢集中,用戶端通常直接向mongos範例進行身份驗證。 但是,某些維護操作可能需要直接對特定的分片進行身份驗證。 有關認證和分片叢集的更多資訊,請參閱分片叢集使用者。