MongoDB: не удалось добавить пользователя - не авторизован (CloudFoundry) - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть MongoDB (Service Plan: small), и я хотел бы создать дополнительного пользователя, но, похоже, у меня нет необходимых привилегий для этого.

db.createUser({ user: "whateverusername" , pwd: "whateverpassword", roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]})

Не удалось выполнить скрипт.

Ошибка: не удалось добавить пользователя: не авторизован на XXXXXXX для выполнения команда {createUser: "имя пользователя", pwd: "xxx", роли: [ "userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase" ], digestPassword: false, writeConcern: {w: "большинство", wtimeout: 600000.0}}: _getErrorWithCode@src/mongo/shell/utils.js: 25: 13 DB.prototype.createUser@src/mongo/shell/db.js: 1290: 15 @ (оболочка): 1: 1

и я не могу перечислить пользователей:

db.system.users.find();

Ошибка: ошибка: {"ok": 0, "errmsg": "не авторизован в XXXXXXX для выполнить команду {find: \ "system.users \", filter: {}} "," code ": 13, "codeName": "Несанкционированный"}

Это ограничение предназначено? Есть ли способ получить роль readWriteAnyDatabase? Я делаю что-то неправильно?

Я очень ценю любую помощь, которую вы можете оказать!

1 Ответ

0 голосов
/ 06 сентября 2018

Вам необходимо добавить пользователей через CloudFoundry. Либо свяжите службу с приложением, которое создаст пользователя для использования этим приложением, либо создайте ключ службы, который предназначен для всех других целей (в основном для случаев, когда человеку необходимо взаимодействовать с базой данных).

Вот документы о том, как привязать сервис к приложению: https://docs.developer.swisscom.com/devguide/services/application-binding.html

Учебник для него: https://docs.developer.swisscom.com/tutorial-go/bind-service.html

А вот как создать сервисные ключи: https://docs.developer.swisscom.com/devguide/services/service-keys.html

...