2016-11-06 66 views
0

我加在管理數據庫的「管理員」用戶,對管理數據庫角色和另一個數據庫:mongodb:如何正確設置角色和權限?

[admin] user: yves>db.auth("isabelle", "abc123") 
    1 

    [admin] user: isabelle>db.getUser("isabelle") 
    { 
     "_id" : "admin.isabelle", 
     "user" : "isabelle", 
     "db" : "admin", 
     "roles" : [ 
      { 
       "role" : "userAdmin", 
       "db" : "admin" 
      }, 
      { 
       "role" : "dbOwner", 
       "db" : "cockpit" 
      } 
     ] 
    } 

我測試,這個用戶無法聯繫「測試」數據庫(更新的測試儀用戶的電子郵件)

[admin] user: isabelle>use test 
    switched to db test 
    [test] user: isabelle>db.updateUser(
    ... "myTester", 
    ... { 
    ... customData: {email: "[email protected]"} 
    ... } 
    ...) 

爲「伊莎貝爾」對「測試」分貝任何角色,她不應該被允許更新任何用戶在此DB ...(?) 但它是...

[test] user: isabelle>db.getUser("myTester") 
    { 
     "_id" : "test.myTester", 
     "user" : "myTester", 
     "db" : "test", 
     "roles" : [ 
      { 
       "role" : "readWrite", 
       "db" : "test" 
      }, 
      { 
       "role" : "read", 
       "db" : "reporting" 
      } 
     ], 
     "customData" : { 
      "email" : "[email protected]" 
     } 
    } 

我錯過了什麼? 做'管理'數據庫允許它的isabelle角色'userAdmin'嗎?我試圖移動isabelle在駕駛艙數據庫,與dbOwner的作用,它不會改變任何東西... isabelle仍然能夠去除它,但它deosn(t改變任何東西... ... ... ... ... ... ... ... ... ...但我不知道爲什麼。更新myTester用戶在測試數據庫中...

我怎麼能限制伊莎貝爾於ADMIN只有「駕駛艙」 DB(管理用戶和角色,這個分貝..?

感謝啓蒙...

回答