配置 MongoDB 身份验证¶
默认情况下,MongoDB 不需要用户名或密码来访问或修改数据库。我们建议启用和配置强制身份验证。
打开 MongoDB 外壳:
mongo
存储库需要对数据库进行读/写访问
binstar
。在 MongoDB shell 中输入以下命令以创建管理用户和服务用户:use admin
创建一个管理用户来管理数据库用户:
db.createUser({user:'siteUserAdmin', pwd: '<secure password #1>', roles:['userAdminAnyDatabase']})
授权该用户验证密码:
db.auth('siteUserAdmin', '<secure password #1>')
为 Repository 创建一个服务用户:
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
编辑 Repository 配置文件并将
MONGO_URL
参数设置为mongodb://<username>:<password>@<hostname>
.编辑完配置文件后,重启 Repository 使更改生效。
编辑 Repository 配置文件并将
MONGO_URL
参数设置为mongodb://<username>:<password>@<hostname>
.编辑完配置文件后,重启 Repository 使更改生效。
注意:有关 MongoDB 身份验证和授权的更多信息,请参阅 https://docs.mongodb.com/v2.6/core/authentication/和 https://docs.mongodb.com/v2.6/core/authorization/。