2016-11-06 5 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]"} 
    ... } 
    ...) 

в 'Isabelle' не имеет ролей в дб 'Test', она не должна быть разрешено обновлять любой пользователь на этом 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' на 'admin' db разрешить это? Я попытался удалить его, но он deosn (t ничего не меняет ...

Я также попытался переместить isabelle в базу данных кабины, с ролью dbOwner, ничего не меняет ... isabelle все еще в состоянии обновить myTester пользователя в тестовой базе данных ...

как я могу ограничить Изабеллу администратор только дб «в кокпите» (управление пользователями и ролями для этой БД ..?

благодарит за ... просветительскую

ответ