MongoDB是一种流行的非关系型数据库,它支持分布式集群部署,提高了数据的可用性和扩展性。但是,如果不设置合适的安全措施,MongoDB集群可能会面临未经授权的访问和操作的风险。因此,为MongoDB集群启用auth认证是一种必要的安全防护手段。本文将介绍如何在Windows系统上为MongoDB集群配置auth认证,使得只有拥有正确的用户名和密码的用户才能连接到数据库。
步骤一:创建一个管理员用户
在启用auth认证之前,我们需要先创建一个管理员用户,用于管理MongoDB集群。这个用户需要拥有clusterAdmin和userAdminAnyDatabase两个角色,分别用于管理集群和管理所有数据库的用户。
首先,我们需要连接到MongoDB集群的主节点(primary node),并切换到admin数据库。可以使用以下命令:
然后,我们可以使用db.createUser()方法创建一个管理员用户。例如:
这样,我们就创建了一个名为admin,密码为admin123的管理员用户。
步骤二:修改配置文件
为了启用auth认证,我们需要修改MongoDB集群中每个节点的配置文件(mongod.conf)。具体来说,我们需要在security选项下添加authorization: enabled这一行,表示开启授权验证。例如:
另外,我们还需要在net选项下添加bindIp: 0.0.0.0这一行,表示允许任意IP地址连接到数据库。例如:
注意,如果你已经设置了其他的bindIp值,那么你可以在后面追加0.0.0.0,用逗号分隔。例如:
修改完配置文件后,我们需要重启MongoDB服务,使得配置生效。