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
我有一个 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