天天看點

Mongodb3.0.6啟用認證權限設定

MongoDB預設不開啟授權認證,隻要用戶端程式能夠通路MongoDB伺服器,就可以與它進行連接配接。

但是在生産環境,一般都是需要開啟授權認證的,隻有經過授權的使用者才能夠連接配接到MongoDB,才允許通路相關的資源,即:使用者-角色-資源~  這種模式與其它關系型資料庫的權限模式基本一緻,這裡不做過多的解釋。

要開啟認證模式,首先修改MongoDB的配置檔案: /etc/mongod.conf (路徑可能與我不同~)

修改配置:

開啟完成後重新開機MongoDB即可生效:

需要特别注意一點,就是在開啟授權認證模式之前,需要先在MongoDB中建立一個管理者使用者,MongoDB是不提供預設使用者的。

下面介紹如何建立管理者使用者:

1、首先切換到admin資料庫,這個庫的作用是用來存放MongoDB中所有的授權使用者,預設這個庫是不存在的,我們先切換過來,在用的時候它會自動建立。

2、建立使用者,把下面代碼負載進去執行。

MongoDB中内置了很多角色,我們可以直接使用。

角色可以設定多個:

role:表示角色,db:表示目前角色針對哪個資料庫有效。比如設定了admin 那麼這個使用者的權限範圍隻在admin資料庫有效。

比如我設定 role:"readWrite", db:"mydb" 那麼這個使用者隻能在mydb這個資料庫有讀寫的權限。

但是MongoDB中提供了幾個全局資料庫的角色,例如上面的

注意後面的AndDataBase, 如果設定了這個角色,那麼意味着這個角色是針對所有資料庫有效的,盡管它設定了db:"admin"。

設定完畢系統管理者使用者後,我們就可以開啟MongoDB中的授權認證模式了,開啟模式後在此進入MongoDB的用戶端:

第一步切換到admin資料庫:

switched to db admin

第二步進行身份認證:

認證成功傳回1,如果認證失敗會提升相關的錯誤資訊。

我們可以檢視一下系統使用者:

然後我們可以給具體的資料裡設定授權使用者了。

我們給mydb資料庫設定讀寫的權限使用者。

上面的URL配置了使用者名和密碼 以及要連接配接的資料庫。