我在admin db中添加了一个'admin'用户,在admin db上有角色,另一个db:
[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"
}
]
}
我正在测试此用户无法管理'test'数据库(更新测试用户用户的电子邮件)
[admin] user: isabelle>use test
switched to db test
[test] user: isabelle>db.updateUser(
... "myTester",
... {
... customData: {email: "mytester@example.com"}
... }
... )
由于'isabelle'在'test'db上没有任何角色,因此不应该允许她更新此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" : "mytester@example.com"
}
}
我错过了什么?
在'admin'db允许的情况下执行isabelle'角色'userAdmin'吗?
我试图删除它,但它deosn(改变任何东西......
我还试图在驾驶舱数据库中移动isabelle,使用dbOwner角色,它不会改变任何东西...... isabelle仍然能够在测试数据库中更新myTester用户......
我怎样才能将isabelle限制为仅管理'cockpit'数据库(管理此数据库的用户和角色..?
感谢启发...