роль пользователя для запуска команды replSetGetStatus в монго - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь запустить приведенную ниже команду, чтобы получить состояние моей реплики.Но я получаю следующую ошибку:

db.adminCommand({replSetGetStatus: 1})
{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { replSetGetStatus: 1.0 }",
    "code" : 13
}

Вот мой пользовательский документ в коллекции db.system.users

{
    "_id" : "admin.prodDb",
    "user" : "prodDb",
    "db" : "admin",
    "credentials" : {
        "SCRAM-SHA-1" : {
            "iterationCount" : 10000,
            "salt" : "okdfd74YA3/mTiSad2+zjS4Ag==",
            "storedKey" : "aoCDvsdfh+asvbGajSinnUvXaqc08=",
            "serverKey" : "kdc6B3LgvrNE4gT1CsBEzEvDCadms="
        }
    },
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "XXXX"
        },
        {
            "role" : "readWrite",
            "db" : "XXXX"
        },
        {
            "role" : "readWrite",
            "db" : "XXXX"
        },
        {
            "role" : "readWrite",
            "db" : "XXXX"
        }
    ]
}

Затем я попытался предоставить доступ на чтение к базе данных администратора с помощьюделая это -

db.system.users.update({'user': 'prodDb'}, {$push: {"roles": {"role": "read", "db": "admin"}}})

Я также изменил роль с read на readWrite, но та же проблема сохраняется.Я не хочу предоставлять права admin этому пользователю.Что мне делать.

1 Ответ

0 голосов
/ 13 июня 2018

Пользователь должен иметь clusterManager роль: https://docs.mongodb.com/manual/reference/built-in-roles/#clusterManager

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...