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