我有一个MongoDB(服务计划:小型),我想创建一个额外的用户,但似乎我没有必要的特权。
db.createUser({ user: "whateverusername" , pwd: "whateverpassword", roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]})
无法执行脚本。
错误:无法添加用户:未经XXXXXXX授权执行 命令{createUser:“ whateverusername”,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 @(shell):1:1
我无法列出用户:
db.system.users.find();
错误:错误:{“ ok”:0,“ errmsg”:“未在XXXXXXX上授权 执行命令{查找:\“ system.users \”,过滤器:{}}“,”代码“:13 “ codeName”:“未经授权”}
此限制是故意的吗?有没有办法获得readWriteAnyDatabase角色?难道我做错了什么?
非常感谢您能提供的任何帮助!
答案 0 :(得分:1)
您需要通过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