2016-11-06 67 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(管理用户和角色,这个分贝..?

感谢启蒙...

回答