MongoDB提供了很多安全特性,有:
Authentication
Authorization
TLS/SSL
EnterPRise Only
今天先來看一下authentication(認證)
目前植入如下幾種認證機制:
SCRAM-SHA-1
MongoDBChallenge and Response (MONGODB-CR)
x.509Certificate Authentication
企業版增加兩個認證機制:
LDAP proxy authentication, andKerberos authentication.
版本在3.0以后,默認的認證機制為SCRAM-SHA-1,之前舊版本則會使用MONGODB-CR作為默認認證機制
開啟認證模式,可以提高你的數據庫環境安全性
開啟認證:
單實例如果想開啟認證,則在啟動mongod服務時,添加--auth參數即可
復制集的話,可以在啟動mongod服務時,使用--keyfile參數,此時就不用再多余使用--auth參數了,因為--keyfile參數已經具有其認證功能
開啟認證之前,記得要在數據庫中先創建好用戶與密碼,否則你將無法登陸數據庫,關于創建用戶的方法可以參考我的《MongoDB3.2創建用戶與權限》的文章。
連接訪問:
連接數據庫時,需要提供賬號和密碼,以及認證數據庫,如下:
$ mongo 192.168.1.100:27017/testDB -u tuser -p123456 --authenticationDatabase admin
注:testDB是默認登錄的數據庫,也可以是有權限訪問的其他數據庫
admin是賬號tuser創建時所在的數據庫,也就是認證數據庫,不可改變,如果--authenticationDatabase缺省,則默認使 用testDB這個位置上的數據庫作為認證庫
密碼可寫可不寫,如果要明文填寫密碼,則請緊隨-P參數之后,不得有空格,如上所示
應用代碼訪問:
由于MongoDB更新太快,故在3.0以后對默認認證機制發生變更,若需要使用C#,java,PYTHON等代碼連接時,請注意升級驅動版本,官網最低版本要求:

新聞熱點
疑難解答