mongodb集群增加登录密码验证

在部署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组件

猜你喜欢

转载自welcome66.iteye.com/blog/2410264