Когда я пытаюсь получить информацию о реплике я получаю следующее сообщение об ошибке:Update пользователь роли: не авторизован на администратор, чтобы выполнить команду
rep0:PRIMARY> rs.printReplicationInfo()
2015-05-19T13:30:29.231+0200 error: {
"$err" : "not authorized for query on local.system.namespaces",
"code" : 13
} at src/mongo/shell/query.js:131
Я попытался выполнить команду с двумя следующими пользователями:
[
{
"_id" : "admin.siteRootAdmin",
"user" : "siteRootAdmin",
"db" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
},
{
"_id" : "admin.mongoadmin",
"user" : "mongoadmin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "dbOwner",
"db" : "admin"
},
{
"role" : "clusterAdmin",
"db" : "admin"
}
]
}
]
Althought меня clusterAdmin
роли работать с репликами, я попытался обновить роли mongoadmin читать локальную базу данных (как все роли предоставляются на администратор БД), но я получаю следующее сообщение об ошибке:
rep0:PRIMARY> db.system.users.update({"user":"mongoadmin"},{$addToSet:{"roles":"readAnyDatabase"}})
WriteResult({
"writeError" : {
"code" : 13,
"errmsg" : "not authorized on admin to execute command { update: \"system.users\", updates: [ { q: { user: \"mongoadmin\" }, u: { $addToSet: { roles: \"readAnyDatabase\" } }, multi: false, upsert: false } ], ordered: true }"
}
})
- Что должно мне нужно иметь для того, чтобы получить полный доступ ко всем командам реплики в дополнение к
clusterAdmin
роли? - Если у любого из пользователей есть разрешения в admin db (mongoadmin is dbOwner), почему у меня нет разрешений для команды update?