Роль пользователя для запуска команды replSetGetStatus в mongo

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

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. Что мне делать.

Этот вопрос действительно относится к dba.stackexchange.com, который является сайтом, который следует использовать для администрирования базы данных и вопросов конфигурации. StackOverflow предназначен только для тем программирования, к которым этот вопрос не относится. Переместите свой вопрос на правильный сайт, удалив его и разместив повторно.

Neil Lunn 13.06.2018 09:50
Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
0
1
239
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

clusterMonitor - это правильная роль пользователя, поскольку он обеспечивает доступ только для чтения к инструментам мониторинга. В любом случае спасибо.

Anurag Sharma 13.06.2018 11:00

Другие вопросы по теме