MongoDB安全认证

一、添加用户

切换到admin数据库对用户的添加
use admin;
db.createUser(userDocument):用于创建 MongoDB 登录用户以及分配权限的方法

db.createUser(
{
user: "账号",
pwd: "密码",
roles: [
{ role: "角色", db: "安全认证的数据库" },
{ role: "角色", db: "安全认证的数据库" }
]
}
)

二、单机认证

要使用安全认证必须添加超级用户,以及针对某个库的用户

  1. 创建管理员
    MongoDB安全认证
  2. 创建普通用户
    MongoDB安全认证
  3. MongoDB 安全认证方式启动
    mongod --dbpath=数据库路径 --port=端口 --auth
    也可以在配置文件中 加入 auth=true

三、分片集群安全认证

1 开启安全认证之前 进入路由创建管理员和普通用户
2 关闭所有的配置节点 分片节点 和 路由节点

安装psmisc
yum install psmisc
安装完之后可以使用killall 命令 快速关闭多个进程
killall mongod

3 生成密钥文件 并修改权限

openssl rand -base64 756 > data/mongodb/testKeyFile.file
chmod 600 data/mongodb/keyfile/testKeyFile.file

4 配置节点集群和分片节点集群开启安全认证和指定密钥文件

auth=true
keyFile=data/mongodb/testKeyFile.file

5在路由配置文件中 设置密钥文件

keyFile=data/mongodb/testKeyFile.file

6 启动所有的配置节点 分片节点 和 路由节点 使用路由进行权限验证
可以编写一个shell 脚本 批量启动

./bin/mongod -f config/config-17017.conf
./bin/mongod -f config/config-17018.conf
./bin/mongod -f config/config-17019.conf
./bin/mongod -f shard/shard1/shard1-37017.conf
./bin/mongod -f shard/shard1/shard1-37018.conf
./bin/mongod -f shard/shard1/shard1-37019.conf
./bin/mongod -f shard/shard2/shard2-47017.conf
./bin/mongod -f shard/shard2/shard2-47018.conf
./bin/mongod -f shard/shard2/shard2-47019.conf
./bin/mongos -f route/route-27017.conf

7 Spring boot 连接安全认证的分片集群

spring.data.mongodb.username=账号
spring.data.mongodb.password=密码
#spring.data.mongodb.uri=mongodb://账号:密码@IP:端口/数据库名

8 当我们开启认证后,要想单独查询每个分片集群的数据,就必须为其创建账号
MongoDB安全认证

上一篇:超级实用的阿里云服务器安装mongodb教程


下一篇:mongod入门系列之实战