配置 MongoDB 身份验证#
默认情况下,MongoDB 不要求用户名或密码即可访问或修改数据库。Anaconda 建议启用和配置强制身份验证。
打开 MongoDB shell
mongo
仓库需要对数据库
binstar
具有读/写访问权限。在 MongoDB shell 中输入以下命令以创建管理用户和服务用户use admin
创建管理用户以管理数据库用户
db.createUser({user:'siteUserAdmin', pwd: '<secure password #1>', roles:['userAdminAnyDatabase']})
以该用户身份授权以验证密码
db.auth('siteUserAdmin', '<secure password #1>')
为仓库创建服务用户
db.createUser({user:'anaconda', pwd: '<secure password #2>', roles:[{db:'binstar', role:'readWrite'}]})
在 MongoDB 中启用强制身份验证
如果您使用的是旧版 MongoDB 配置文件格式,请将 auth 键添加到
/etc/mongod.conf
auth=true
如果您使用的是当前 MongoDB 配置文件格式,请将 security.authorization 键添加到
/etc/mongod.conf
security: authorization: enabled
重启 MongoDB 以重新加载配置
sudo service mongod restart
编辑仓库配置文件,并将
MONGO_URL
参数设置为mongodb://<username>:<password>@<hostname>
。编辑配置文件后,重启仓库以使更改生效。
编辑仓库配置文件,并将
MONGO_URL
参数设置为mongodb://<username>:<password>@<hostname>
。编辑配置文件后,重启仓库以使更改生效。
注意:有关 MongoDB 身份验证和授权的更多信息,请参阅 https://docs.mongodb.com/v2.6/core/authentication/ 和 https://docs.mongodb.com/v2.6/core/authorization/。