日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MongoDb分片集群认证

發(fā)布時間:2023/12/9 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDb分片集群认证 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文主要基于已經(jīng)搭建好的未認證集群,結(jié)合上篇Mongodb副本集分片集群模式環(huán)境部署(https://www.cnblogs.com/woxingwoxue/p/9875878.html), MongoDb分片集群認證幾個主要流程

1.在分片集群環(huán)境中,副本集內(nèi)成員之間需要用keyFile認證,mongos與配置服務(wù)器,副本集之間也要keyFile認證,集群所有mongod和mongos實例使用內(nèi)容相同的keyFile文件
(1)在其中一臺機器上生成keyfile

openssl rand -base64 753 > keyfile sudo chmod 400 keyfile

(2)將keyfile放置在<path-to-keyfilie>路徑

2.建立管理員賬號,賦所有權(quán)限(admin和config數(shù)據(jù)庫)

use admin db.createUser({user: "admin",pwd: "123456",roles: [ { role: "root", db: "admin" } ]}) #root所有權(quán)限 db.auth("admin","123456")use config db.createUser({user: "admin",pwd: "123456",roles: [ { role: "root", db: "admin" } ]}) #root所有權(quán)限 db.auth("admin","123456")

3.關(guān)閉所有mongod、mongos、configsvr,編輯配置文件,重新啟動每臺服務(wù)器每個實例

為每一個mongod、mongos、配置服務(wù)器的實例其中的配置文件添加認證屬性或者在啟動實例時添加--authorization、--keyFile選項

[mongo@mongo3 ~]$ vi services/configsvr/mongod.conf #mongod.conf 添加以下配置 security:authorization: enabled #若啟動實例報錯,可刪除該行keyFile: /home/mongo/services/keyfile [mongo@mongo3 ~]$ ./mongod -f services/configsvr/mongod.conf

其他實例如下

[mongo@mongo3 ~]$ vi services/shard1/mongod.conf#mongod.conf 添加以下配置 security:authorization: enabled #若啟動實例報錯,可刪除該行keyFile: /home/mongo/services/keyfile[mongo@mongo3 ~]$ ./mongod -f services/shard1/mongod.conf[mongo@mongo1 ~]$ vi services/shard2/mongod.conf#mongod.conf 添加以下配置 security:authorization: enabled #若啟動實例報錯,可刪除該行keyFile: /home/mongo/services/keyfile[mongo@mongo1 ~]$ ./mongod -f services/shard2/mongod.conf[mongo@mongo1 ~]$ vi services/shard3/mongod.conf#mongod.conf 添加以下配置 security:authorization: enabled #若啟動實例報錯,可刪除該行keyFile: /home/mongo/services/keyfile[mongo@mongo1 ~]$ ./mongod -f services/shard3/mongod.conf[mongo@mongo2 ~]$ vi services/mongos/mongos.conf#mongod.conf 添加以下配置 security:authorization: enabled #若啟動實例報錯,可刪除該行keyFile: /home/mongo/services/keyfile[mongo@mongo2 ~]$ ./mongos -f services/mongos/mongos.conf

4.admin連接mongo集群

[mongo@mongo3 ~]$ ./mongo 172.16.0.192:27017/admin -u admin -p 123456

5.為指定數(shù)據(jù)庫添加訪問用戶,本文為testShard數(shù)據(jù)庫

use testShard db.createUser({user:"test",pwd:"test",roles:[{role:"readWrite", db:"testShard"} #讀寫權(quán)限]} ) db.auth("test","test")

6.test訪問mongo集群,只有testShard的數(shù)據(jù)讀寫權(quán)限

[mongo@mongo3 ~]$ ./mongo 172.16.0.192:27017/testShard -u test -p test MongoDB shell version v4.0.3 connecting to: mongodb://172.16.0.192:27017/testShard Implicit session: session { "id" : UUID("e0f8bf3f-83d7-432c-ba4c-c063d865380e") } MongoDB server version: 4.0.3

?

用戶和角色方法
詳細參見官方文檔:
https://docs.mongodb.com/manual/reference/method/#role-management

查看角色信息
use admin
db.getRole("rolename",{showPrivileges:true})

刪除角色
use admin
db.dropRole("rolename")

系統(tǒng)內(nèi)置用戶角色
大部分內(nèi)置的角色對所有數(shù)據(jù)庫共用,少部分僅對admin生效

數(shù)據(jù)庫用戶類

read
非系統(tǒng)集合有查詢權(quán)限

readWrite
非系統(tǒng)集合有查詢和修改權(quán)限

數(shù)據(jù)庫管理類

dbAdmin
數(shù)據(jù)庫管理相關(guān),比如索引管理,schema管理,統(tǒng)計收集等,不包括用戶和角色管理

dbOwner
提供數(shù)據(jù)庫管理,讀寫權(quán)限,用戶和角色管理相關(guān)功能

userAdmin
提供數(shù)據(jù)庫用戶和角色管理相關(guān)功能

集群管理類

clusterAdmin
提供最大集群管理權(quán)限

clusterManager
提供集群管理和監(jiān)控權(quán)限

clusterMonitor
提供對監(jiān)控工具只讀權(quán)限

hostManager
提供監(jiān)控和管理severs權(quán)限

備份和恢復(fù)類

backup
提供數(shù)據(jù)庫備份權(quán)限
restore
提供數(shù)據(jù)恢復(fù)權(quán)限

All-Database類

readAnyDatabase
提供讀取所有數(shù)據(jù)庫的權(quán)限除了local和config數(shù)據(jù)庫之外

readWriteAnyDatabase
和readAnyDatabase一樣,除了增加了寫權(quán)限

userAdminAnyDatabase
管理用戶所有數(shù)據(jù)庫權(quán)限,單個數(shù)據(jù)庫權(quán)限和userAdmin角色一樣

dbAdminAnyDatabase
提供所有用戶管理權(quán)限,除了local,config


超級用戶類

root
數(shù)據(jù)庫所有權(quán)限

內(nèi)部角色

__system
提供數(shù)據(jù)庫所有對象任何操作的權(quán)限,不能分配給用戶,非常危險

轉(zhuǎn)載于:https://www.cnblogs.com/woxingwoxue/p/9888897.html

總結(jié)

以上是生活随笔為你收集整理的MongoDb分片集群认证的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。