mongodb 的許可權系統
mongodb 開啟許可權認證需要注意的幾個點:
ReplSet 下面, 叢集的連結,需要 keyfile 看明白了。 是 keyFile 才對 。
1.
keyfile 的內容不能包含 等號 "="
openssl rand 128 最後一個字元是 “=”
大於 128 後面就增加 等號了。
取 90 或者 100 左右或者手工取其中的一部分都行。
openssl rand 90 > keyFile 。
然後複製到各個節點。
許可權 0600 .
2.
還有一個問題
systemctl 啟動的指令碼里面 有關於 幾句授權的。 ExecStartPre 那幾句確保不要修改 keyFile 的許可權。
否則啟動錯誤。
3. 啟動叢集后, 需要授權給管理員的幾個許可權問題。
db.createUser (
{
user:'root',
pwd:"passwd",
roles:[ {
role:"userAdminAnyDatabase",db:"admin"
},
{role:"readWriteAnyDatabase",db:"admin"
},
{role:"userAdmin",db:'admin'
},
{role:"dbAdmin",db:'admin'
},
{role:"clusterManager",db:'admin'
}
]
}
)
這是管理員許可權 。
如果業務業務使用者。
到各自的 業務資料裡去授權。
use app
db.createUser { ...
role:[ role:"dbadmin" , db:'app' }
需要 一個 dbadmin de 許可權, 否則可能會有點問題。
4. Secodary 庫。 連結後,第一句 是 rs.slaveOk()
否則一直爆粗。 別搞忘了。
5. 如果透過阿里雲DTS 複製 mongodb 做業務資料同步,
已經要調整 DTS 目標端的寫 併發數 , medium 規格的DTS 預設應該是 32個 併發。
讓後每個併發 , 批次寫 128個 記錄。 才提交。 這個是很大的併發量。
如果你的mongodb 資源不太足, 幾分鐘就壓死了。 而且 會持續 幾個很久的 cpu 跑滿,
rs 的 slave 離線。 無法接入叢集等等一系列的古怪問題。
切記。
6. arbitery 節點, 只參與 叢集投票,仲裁, 並不參與資料複製
就不需要設定keyfile 跟 安全驗證了。 給他安裝 exporter 監控的時候, 會導致登入錯誤。 無法監控。
這個是很重要。
7. 關於 主從切換的問題。 在主從 之間oplog delay =0 或者接近 0 的情況下。
因為我們設定了主庫的 priority =2 secondary 庫 =1 。
主動停止主庫, 會迅速接管到 secondary 變為 primary 。
再次啟動 主庫的時候, 角色會 在再次換回來。
整個ha 的過程還是相當自在的。
8.
下面是配置檔案示例:
# mongod.conf
# for documentation of all options, see:
#
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /app/mongodb/logs/mongod.log
# Where and how to store data.
storage:
dbPath: /app/mongodb/data/db
directoryPerDB: true
journal:
enabled: true
# engine:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /app/mongodb/data/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 3717
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
security:
keyFile: /app/mongodb/data/keyfile/keyfile
authorization: enabled
#operationProfiling:
replication:
replSetName: "Mmp_wuid"
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
setParameter:
replWriterThreadCount: 16
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-2912382/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- Android系統許可權和root許可權Android
- 許可權系統:一文搞懂功能許可權、資料許可權
- MongoDB 3.0.8 許可權管理MongoDB
- MySQL許可權系統MySql
- Oracle系統許可權Oracle
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- 許可權系統:許可權應用服務設計
- 【JavaWeb】許可權管理系統JavaWeb
- 有贊許可權系統
- Android系統許可權Android
- 許可權系統設計
- 許可權系統跟進
- 許可權系統:6個許可權概念模型設計模型
- 許可權系統:許可權應用服務設計Tu
- 系統許可權傳遞和物件許可權傳遞的測試物件
- 檢視角色裡包含的系統許可權、物件許可權和角色物件
- 打造自己的系統許可權控制
- mongoDB 3.0 安全許可權訪問MongoDB
- SpringSecurity許可權管理系統實戰—九、資料許可權的配置SpringGse
- 角色許可權(Role)和系統許可權(System)的幾個澄清實驗
- 許可權維持專題:作業系統許可權維持作業系統
- 企業許可權管理系統
- Winner許可權管理系統3.0
- MySQL許可權系統簡介MySql
- 通用許可權系統介紹
- 許可權系統概要(收集,整理)
- Mysql存取許可權系統(轉)MySql
- 基於RBAC的許可權管理系統
- 關於許可權系統的設計
- 適配懸浮窗許可權與系統設定修改許可權
- MongoDB 使用者與許可權管理MongoDB
- MongoDB入門系列(四):許可權管理MongoDB
- 使用者許可權系統管理
- 系統,物件,角色許可權簡析物件
- 許可權系統設計(2)--operation
- 許可權系統設計(3)-- subject
- 許可權系統設計(4)--resource