1. 程式人生 > >mongodb叢集增加登入密碼驗證

mongodb叢集增加登入密碼驗證

mongodb叢集增加登入密碼驗證

2018年02月05日 14:32:22 ---暢行天下--- 閱讀數 409更多 分類專欄: mongodb   版權宣告:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結和本宣告。 本文連結:https://blog.csdn.net/welcome66/article/details/84916061

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