mongodb 安全認證

來源:互聯網
上載者:User

標籤:

預設情況下,mongodb不啟用驗證的。資料庫層級的許可權,要麼可讀寫要麼唯讀許可權。mongod的驗證配置比較操蛋。分兩種情形:一種是單伺服器,只需啟動時添加–auth參數即可。 另一種是複製集、分區叢集伺服器,必須指定keyfile參數,其他節點之間的通訊基於該keyfile。在這種情況下,–auth參數是隱含啟用的,所有的mongodb訪問都必須驗證的。  Mongodb中安全許可權驗證是資料庫層級的1、在admin中建立的 許可權帳號是全域性的,可以訪問所有DB;2、在非admin中建立的許可權帳號是 本地帳號,只對本地DB具有操作許可權;3、如果在非 admin資料中 建立許可權帳號時指定了具有對其他DB的許可權,則相應的具有其許可權; 4、密碼中不能有 < > & " ‘ : @ ************************************************db.createUser({user:"wenzhong",pwd:"[email protected]",roles:["root"]},{w:1,wtimeout:10000}); ************************************************ 一、單伺服器模式添加管理使用者,admin庫下的使用者是全域使用者,對所有的資料庫可讀寫。 # ./mongo> use admin> db.addUser("root","www.ttlsa.com")> db.auth("root","www.ttlsa.com")建立普通的使用者,是資料庫層級的。 > use database_name> db.addUser(‘guest‘,‘www.ttlsa.com‘) 可讀寫> db.addUser(‘guest‘,‘www.ttlsa.com‘,true) 只可讀查看使用者 > db.system.users.find()刪除使用者 > db.removeUser(username)或> db.system.users.remove( { user: username } )設定檔加上下面的參數後重新啟動mongod執行個體 auth = ture  二、複製集與分區叢集模式下2.1 keyfile規則1. 叢集伺服器之間通訊通過keyfile進行身分識別驗證。2. 每個執行個體的keyfile檔案內容要一致。3. keyfile檔案許可權僅目前使用者可讀。4. 叢集成員都需要指定–keyFile參數。5. 每個用戶端串連到資料庫之前必須驗證。6. key長度必須在6到1024個字元之間,否則會報錯,mongod無法啟動。7. 任何空格被忽略。8. 最好是3的倍數 。key不能包含非法字元=,否則會報錯,mongod無法啟動 。   1、在primary伺服器上 生產keyfile檔案秘鑰  (注必須是 600許可權,否則會報錯)先在 Admin庫先建立 超級帳號(primary)replSet:primary>use adminreplSet:primary>db.createUser({user:"wenzhong",pwd:"[email protected]",roles:["root"]},{w:1,wtimeout:10000});2、sheel> openssl rand -base64 666 > /opt/mongo/conf/MongoReplSet_KeyFilesheel> chown mongod.mongod   /opt/mongo/conf/MongoReplSet_KeyFilesheel> chmod 600   /opt/mongo/conf/MongoReplSet_KeyFile3、將 產生的 keyfile 檔案 拷貝到 其他成員伺服器4、修改設定檔keyFile=/opt/mongo/conf/MongoReplSet_KeyFile5、重啟mongod服務(primary-secondary)replSet:primary>use adminreplSet:primary>rs.stepDown(60);replSet:secondary>db.shutdownServer() cat /etc/rc.localsudo  runuser -c "/usr/local/mongo/bin/mongod -f /opt/mongo/conf/mongo.conf" mongod 依次重啟 secondary成員

mongodb 安全認證

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.