MongoDB:无法添加用户 - 未授权 (CloudFoundry)

MongoDB: Couldn't add user - not authorized (CloudFoundry)

我有一个 MongoDB(服务计划:小型),我想创建一个额外的用户,但我似乎没有这样做的必要权限。

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

Failed to execute script.

Error: couldn't add user: not authorized on XXXXXXX to execute command { createUser: "whateverusername", pwd: "xxx", roles: [ "userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase" ], digestPassword: false, writeConcern: { w: "majority", wtimeout: 600000.0 } } : _getErrorWithCode@src/mongo/shell/utils.js:25:13 DB.prototype.createUser@src/mongo/shell/db.js:1290:15 @(shell):1:1

我无法列出用户:

db.system.users.find();

Error: error: { "ok" : 0, "errmsg" : "not authorized on XXXXXXX to execute command { find: \"system.users\", filter: {} }", "code" : 13, "codeName" : "Unauthorized" }

这个限制是故意的吗?有没有办法获得 readWriteAnyDatabase 角色?难道我做错了什么?

非常感谢您提供的任何帮助!

您需要通过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