摘要:在前面一篇文章中,我介紹了如何在單臺上設置鑒權,以防范對數(shù)據(jù)未經(jīng)授權的訪問。本文介紹在配置了主從和分片的情況下,如何為數(shù)據(jù)庫添加鑒權。創(chuàng)建用戶并賦予合適的角色這點參考前面的單臺如何設置鑒權即可,使用客戶端連上數(shù)據(jù)庫,創(chuàng)建用戶,過程完全一樣。
在前面一篇文章中,我介紹了如何在單臺 MongoDB 上設置鑒權,以防范對數(shù)據(jù)未經(jīng)授權的訪問。本文介紹在配置了主從(Replica Set)和分片(Sharding)的情況下,如何為數(shù)據(jù)庫添加鑒權。這兩種情況下的配置方式?jīng)]有區(qū)別,為簡單起見,我將它們都稱作“多臺服務器”。
總的來說,為多臺服務器配置鑒權分為三步:
創(chuàng)建 key 文件;
通過 key 文件來啟動每臺服務器;
創(chuàng)建用戶并賦予合適的角色。
創(chuàng)建 key 文件在單臺 MongoDB 上配置鑒權時,我們只需要關心客戶端與服務器之間的通信是否安全;而在多臺服務器環(huán)境下,我們還要關注服務器與服務器之間的通信。
為了保證服務器與服務器之間的通信安全,MongoDB 提供了一種很方便的方式:key 文件。所有的服務器都使用相同內(nèi)容的 key 文件來驗證相互之間的通信,那么只要 key 文件不泄露出去,服務器之間的通信就無法仿冒,可以說是安全的。
key 文件的內(nèi)容應該隨機生成,僅包含 base64 字符集中的字符,空白字符(空格,換行,制表符等)會被忽略。文件大小在 6~1024 字節(jié)之間。key 文件的訪問權限必須被設置為 600,否則 MongoDB 會報錯說沒有設置正確的文件權限。
你可以用 vi 或 openssl 命令來生成 key 文件。下面是一個例子:
openssl rand -base64 741 > mongodb-keyfile chmod 600 mongodb-keyfile
創(chuàng)建好 key 文件后,將其分發(fā)到所有服務器上,并保證只有運行 mongodb 的用戶能訪問該文件。
通過 key 文件來啟動每臺 MongoDB服務器的啟動順序不變,區(qū)別僅僅是在啟動命令里加上 --auth --keyFile mongodb-keyfile 這兩個參數(shù)。注意不管是 mongod 還是 mongos 都要加上這兩個參數(shù)。
創(chuàng)建用戶并賦予合適的角色這點參考前面的 “單臺MongoDB如何設置鑒權” 即可,使用客戶端連上數(shù)據(jù)庫,創(chuàng)建用戶,過程完全一樣。需要注意的是對于主從數(shù)據(jù)庫你應該連到主數(shù)據(jù)庫上,而對于分片你應該連到 mongos 上。
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/18742.html
摘要:缺省是沒有設置鑒權的,業(yè)界大部分使用的項目也沒有設置訪問權限。本文介紹如何在單臺服務器上設置鑒權。類似的,為規(guī)劃用戶鑒權時,至少要規(guī)劃兩種角色用戶管理員和數(shù)據(jù)庫用戶。缺省方式下是不進行鑒權檢查的。 MongoDB 缺省是沒有設置鑒權的,業(yè)界大部分使用 MongoDB 的項目也沒有設置訪問權限。這就意味著只要知道 MongoDB 服務器的端口,任何能訪問到這臺服務器的人都可以查詢和操作 ...
摘要:我們常說的分表分庫分區(qū)等概念都屬于分片的實際體現(xiàn)。傳統(tǒng)分片做法是手工分表分庫。自動分片技術是根據(jù)指定的片鍵自動拆分數(shù)據(jù)并維護數(shù)據(jù)請求路由的過程。 1.mongodb特性 1)mongo是一個面向文檔的數(shù)據(jù)庫,它集合了nosql和sql數(shù)據(jù)庫兩方面的特性。 2)所有實體都是在首次使用時創(chuàng)建。 3)沒有嚴格的事務特性,但是它保證任何一次數(shù)據(jù)變更都是原子性的。 4)也沒有固定的數(shù)據(jù)模型 5)...
摘要:學習筆記安裝沒什么好說的主從復制參照這個地址創(chuàng)建證書并給各個服務器主要命令開啟副本集驗證初始化副本集添加備節(jié)點添加仲裁者節(jié)點啟動時需要增加的參數(shù)指定鏈接的關鍵密匙統(tǒng)一集合名稱從服務器可查參照這個地址分片分片就是將數(shù)據(jù) Docker 學習筆記. Mongodb 安裝 沒什么好說的 = =! Mongodb 主從復制 參照這個地址 : http://dockone.io/artic...
摘要:學習筆記安裝沒什么好說的主從復制參照這個地址創(chuàng)建證書并給各個服務器主要命令開啟副本集驗證初始化副本集添加備節(jié)點添加仲裁者節(jié)點啟動時需要增加的參數(shù)指定鏈接的關鍵密匙統(tǒng)一集合名稱從服務器可查參照這個地址分片分片就是將數(shù)據(jù) Docker 學習筆記. Mongodb 安裝 沒什么好說的 = =! Mongodb 主從復制 參照這個地址 : http://dockone.io/artic...
閱讀 1254·2021-11-15 18:00
閱讀 1848·2021-10-08 10:15
閱讀 873·2021-09-04 16:48
閱讀 2468·2021-09-04 16:48
閱讀 1366·2019-08-29 18:40
閱讀 1028·2019-08-29 13:08
閱讀 3066·2019-08-26 14:06
閱讀 1186·2019-08-26 13:35