MST

星途 面试题库

面试题:MongoDB副本集安全配置之用户认证

在MongoDB副本集中,如何配置基于用户名和密码的用户认证机制?请描述具体步骤以及相关配置参数的作用。
12.9万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

步骤如下:

  1. 进入MongoDB shell:连接到副本集中的主节点。
  2. 创建管理员用户:在admin数据库下创建管理员用户,示例代码如下:
use admin
db.createUser({
    user: "adminUser",
    pwd: "adminPassword",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})

这里user指定用户名,pwd指定密码,rolesuserAdminAnyDatabase角色表示该用户可以管理任何数据库的用户,db指定该角色作用于admin数据库。 3. 开启认证:修改MongoDB配置文件(通常是mongod.conf),添加或修改以下配置参数:

security:
  authorization: enabled

authorization: enabled表示开启用户认证机制。 4. 重启MongoDB服务:使配置生效。 5. 连接并验证:使用认证信息连接MongoDB,示例命令如下:

mongo -u "adminUser" -p "adminPassword" --authenticationDatabase "admin"

-u指定用户名,-p指定密码,--authenticationDatabase指定认证数据库为admin

相关配置参数作用:

  1. user:指定创建用户的名称。
  2. pwd:指定用户的密码。
  3. roles:定义用户所拥有的角色,角色决定了用户的权限范围。不同角色有不同的权限,例如read角色允许用户读取数据,readWrite角色允许读写数据等。
  4. authorization:在配置文件中的这个参数,决定是否开启用户认证机制,设为enabled时开启认证。