MongoDB 安全认证是一种保护数据库安全的重要机制,通过验证用户的身份和权限来确保只有经过授权的用户才能访问数据库。以下是 MongoDB 安全认证的步骤:
修改配置文件:
在 MongoDB 的配置文件 mongod.conf 中启用身份验证。找到 security 部分,将 authorization 设置为 enabled。
security:
authorization: enabled
重启 MongoDB 服务: 保存配置文件并重启 MongoDB 服务以应用更改。
sudo systemctl restart mongod
连接到 MongoDB:
使用 mongo 命令连接到 MongoDB 实例。
mongo
切换到 admin 数据库:
使用 use admin 命令切换到 admin 数据库。
use admin
创建管理员用户:
使用 db.createUser 命令创建管理员用户,并赋予 root 权限。
db.createUser({
user: "admin",
pwd: "your_password",
roles: [ { role: "root", db: "admin" } ]
})
切换到目标数据库:
使用 use 命令切换到要创建用户的数据库。
use mydatabase
创建普通用户:
使用 db.createUser 命令创建普通用户,并为他们分配适当的角色。例如,创建一个只读用户。
db.createUser({
user: "readonlyuser",
pwd: "mypassword",
roles: [ { role: "read", db: "mydatabase" } ]
})
使用管理员用户登录:
使用 db.auth 命令验证管理员用户身份。
db.auth("admin", "your_password")
使用普通用户登录: 使用普通用户登录并测试权限。
mongo -u readonlyuser -p mypassword --authenticationDatabase mydatabase
删除用户:
使用 db.dropUser 命令删除指定用户。
db.dropUser("readonlyuser")