Rocketchat соединение для обеспечения безопасности MongoDB - PullRequest
0 голосов
/ 01 июня 2019

Я пытаюсь, чтобы mongodb добавил пользователя rocketchat с привилегиями, и вот результат запроса:

rs01:PRIMARY> use admin
rs01:PRIMARY> show users
{
        "_id" : "admin.rocketchatuser",
        "user" : "rocketchatuser",
        "db" : "admin",
        "customData" : {

        },
        "roles" : [
                {
                        "role" : "readWrite",
                        "db" : "admin"
                },
                {
                        "role" : "readWrite",
                        "db" : "local"
                },
                {
                        "role" : "dbOwner",
                        "db" : "rocketchat"
                }
        ]
}

А вот моя строка подключения:

MONGO_OPLOG_URL=mongodb://rocketchatuser:mypassword@localhost:27017/local?authSource=admin&replSet=rs01
MONGO_URL=mongodb://rocketchatuser:mypassword@localhost:27017/rocketchat?authSource=admin

А здесьis mongodb log:

Unauthorized: not authorized on rocketchat to execute command

Но все равно при получении соединения отказано в ошибке.

Есть идеи?

1 Ответ

0 голосов
/ 01 июня 2019

Наконец, я разобрался с проблемой после повторного следования инструкциям в этом руководстве и включении регистрации в службе Rocket.Chat и выяснил, что для предоставления rocketuser требуется иметь роль clusterMonitor в базе данных администратора:

db.runCommand({ grantRolesToUser: "rocketchatuser" , roles: [{role: "clusterMonitor", db: "admin"}]})

После предоставления пользователю он подключился и начал успешно работать.

...