mongodb叢集增加登入密碼驗證
阿新 • • 發佈:2019-09-13
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元件