MongoDB Manual (Version 4.2)> Security > Enable Access Control
本次我们将从以下几个方面了解MongoDB如何启用访问控制。
概述
用户管理员
使用过程
其他注意事项
概述
在MongoDB部署时启用访问控制可以加强身份验证,要求用户表明自己的身份。当访问一个在部署时开启了访问控制的MongoDB时,用户只能执行由其角色决定的操作。
下面的教程在一个独立的 mongod
实例上启用了访问控制并且使用默认的身份验证机制。对于所有支持的身份验证机制,请参阅身份验证机制。
用户管理员
启用访问控制时,确认你在admin
数据库中已经有一个具有 userAdmin
或者 userAdminAnyDatabase
角色的用户。这个用户能管理用户和角色,例如:创建用户、授予或者撤销用户的角色、创建或者修改角色。
配置过程
下面的过程首先将一个管理员用户添加到一个运行时没有开启访问控制的MongoDB实例中,然后启用访问控制。
说明:
这个示例的MongoDB实例,使用27017端口和
/var/lib/mongodb
目录作为数据目录。这个示例中假设存在/var/lib/mongodb
这个数据目录。可以根据需要指定不同的数据目录。
1 没开启访问控制时启动MongoDB
没开启访问控制时启动独立的 mongod
实例。
例如,打开终端并发出以下命令:
mongod --port 27017 --dbpath /var/lib/mongodb
2 连接这个实例
例如,打开一个新的终端并且使用mongo shell连接到mongod实例:
mongo --port
适当地指定其他的命令行选项,将mongo shell 连接到你部署的mongod 实例,诸如--host
。
3 创建一个用户管理员
通过mongo shell 在 admin
数据库中增加一个有 userAdminAnyDatabase