1. 介紹
不管數(shù)據(jù)庫是在多安全的環(huán)境或者本地環(huán)境,給數(shù)據(jù)庫建立一個安全的環(huán)境是很有必要的。
Mongodb提供了一系列的 安全功能 ,這里介紹一種很常用的身份驗(yàn)證方式。
2. 開啟驗(yàn)證
默認(rèn)情況下,只要在啟動數(shù)據(jù)庫的時候沒有加上 --auth 選項(xiàng),就是沒有身份驗(yàn)證功能的,所有客戶端都可以進(jìn)行所有權(quán)限的操作。
如果加上過后,我們就可以通過安全的身份驗(yàn)證連接數(shù)據(jù)庫。如果要在數(shù)據(jù)庫中進(jìn)行身份驗(yàn)證,可以通過 db.auth(username, password) ,如果驗(yàn)證成功則返回1,反之。
3. 建立用戶
建立用戶我們可以通過 db.createUser() 方法來建立用戶,比如下面這樣:
db.createUser({user: 'username', pwd: 'password', roles: [
{role: 'read', db: 'test'}
]});
db.createUser 方法的接受一個對象,里面的user代表用戶名,pwd代表密碼,而roles是一個數(shù)組可以接受多個對象,每個對象可以對應(yīng)作用于的數(shù)據(jù)庫,其中的role字段代表對作用的數(shù)據(jù)庫的權(quán)限,官方規(guī)定了一些列的內(nèi)置角色,可以通過 文檔查詢 。
4. 刪除用戶
刪除用戶需要具有權(quán)限的用戶進(jìn)行操作,通過 db.dropUser() 方法進(jìn)行,接受一個字符串,這個字符串就是用戶名:
db.dropUser('user1');
5. 獲取用戶
可以通過 db.getUser() 方法來獲取用戶信息,同樣它接受一個字符串,字符串為用戶名:
db.getUser('user1');
您可能感興趣的文章:- MongoDB安全及身份認(rèn)證(實(shí)例講解)