帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在MongoDB实例中启用身份验证

如何在MongoDB实例中启用身份验证

发布时间:2020年07月06日 09:35:24    来源: A5互联

默认的MongoDB安装没有访问数据库的密码。您可以在MongoDB服务器中强制执行身份验证,以增加安全性。您可能已经控制了MongoDB服务器,使其仅接受来自局域网的请求,但是黑客仍然有机会向服务器注入恶意脚本。因此,建议使用用户名,密码和数据库角色来保护您的服务器。

在本教程中,您将学习为MongoDB数据库创建用户并为他们分配特定角色。

1、创建管理员用户

首先,我们将创建一个用于管理所有用户和数据库的用户(在本例中为admin),然后将创建仅对一个MongoDB数据库实例具有读写特权的特定数据库所有者。

在MongoDB服务器上创建一个管理员用户,以管理所有用户和数据库。连接到Mongo Shell,然后切换到管理数据库并创建用户。

use admin

db.createUser({ user: "admin", pwd: "admin_password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

验证身份验证,在Mongo Shell上运行命令:

db.auth("admin", "admin_password")

2、创建特定的数据库用户

接下来,为您的应用程序数据库创建一个用户。使用“使用”命令选择数据库,然后使用以下命令创建用户。您需要将数据库名称,用户名和密码更改为以下命令。

use mydb

db.createUser({ user: "db_user", pwd: "your_password", roles: [{ role: "dbOwner", db: "mydb" }] })

验证身份验证,在Mongo Shell上运行命令:

db.auth("db_user", "your_password")

3、在MongoDB上启用身份验证

您已成功为数据库创建用户。现在,切换授权设置以强制执行身份验证。要在MongoDB实例上启用身份验证,请在您喜欢的文本编辑器中编辑mongod.conf文件。

vim /etc/mongod.conf

将以下几行添加/编辑到配置文件

security:

authorization: enabled

保存文件并关闭。

然后重新启动MongoDB实例以应用更改。

service mongod restart

总结

您已通过在数据库上启用正确的身份验证来保护MongoDB服务器。