欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mongodb集群增加登录密码验证

程序员文章站 2022-03-21 23:40:33
...

在部署mongodb集群的时候,有些安全性要求比较高的地方,需要启用密码验证的方式,登录mongo集群。

下面的方式是在mongodb 3.6版本的基础上,3个节点的集群里设置的。

 

1.生成集群验证key文件

 

1)进入mongodb的data目录,创建keyfile目录

 

2)使用openssl生成key文件

 

3)修改key文件权限为400

 

4)复制该key文件到每个mongodb节点对应目录

 

命令如下:

 

#cd /home/memdb/mongodb/conf

#openssl rand -base64 741 > /home/mongodb/data/mongo-keyfile

#chmod 400 ./ mongo-keyfile

 

2.创建验证用户

 

在未启用验证前,创建用户:

 

1)使用mongo连接mongos端口:

        $bin/mongo IP:mongos port

 

2)切换到admin库,创建用户:

 

use admin
db.createUser( {
    user: "cluster",
    pwd: "cluster",
    roles: [ { role: "clusterAdmin", db: "admin" } ]
  });
db.createUser( {
    user: "super",
    pwd: "super",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  });
use test
db.createUser(
  {
    user: "admin",
    pwd: "admin",
    roles:
    [
      {
        role: "dbOwner",
        db: "test"
      }
    ]
  }
)

 

     

 

3.  增加配置文件的验证属性

 

1)  Mongo.conf文件:

 

security:

  keyFile: "/home/mongodb/data/mongodb-keyfile"

  clusterAuthMode: "keyFile"

      authorization: "enabled"

 

config和mongos只增加上面2个属性即可。

4.重启集群

上面完成之后,重启整个mongodb集群。

按照原来顺序启动如有错误,启动顺序可改为

    1) 先启动所有config组件

    2) 再启动所有mongod组件

    3) 最后启动mongos组件