MongoDB的安全校正

來源:互聯網
上載者:User

標籤:不能   image   ons   strong   帳號   mongodb執行個體   啟動   認證   切換使用者   

  一、MongoDB安全校正的重要性

    每個MongoDB執行個體中的資料庫都可以有許多使用者。如果沒有開啟安全校正,限制使用者權限,則每個進到資料庫的使用者都能任意的對資料庫資料進行讀,寫甚至是讀寫操作。這樣的情境在實際的應用中是非常危險的,容易導致資料丟失,誤刪等事故,所以資料庫服務開啟安全校正,十分有必要。

  二、MongoDB如何開啟安全校正

    一旦MongoDB開啟了安全檢查,則必須是資料庫認證使用者才有權力對資料進行讀,寫或讀寫操作。在進行安全檢查之前,一定要至少有一個管理員帳號,這是為什麼呢?因為只有管理員可以讀寫任何的資料庫,執行特定的管理命令,如為某個資料庫添加特定使用者,限制讀寫權限等。

    如,為admin資料庫添加了超級管理員root,密碼為1234,方便在資料庫開啟安全檢查後,使用該使用者登入後能夠進行資料庫的管理,添加使用者的文法為

    db.addUser("使用者名稱","密碼",是否唯讀true|false)

    然後為kaiye資料庫添加了兩個使用者,文法分別為

    db.addUser("haha","123"):haha使用者對kaiye資料庫具有讀寫權限

    db.addUser("hehe","123",true):hehe使用者對kaiye資料庫只有讀許可權

    重啟服務端,並在開啟服務端命令後面添加 --auth,就啟動了MongoDB的安全校正了。

    mongod --dbpath=C:\\mymongodb --port 27017 --auth

    

    在服務端開啟安全校正後,分別登入haha和hehe使用者,進行資料的讀寫操作,在show collections時,會報無許可權的異常。

    

    此時需要使用資料庫的使用者進行認證登入,文法:db.auth("使用者名稱","密碼"),登入剛才添加的hehe使用者(添加了唯讀許可權)後,發現只能對資料進行檢索查詢,卻不能進行資料的插入操作,這是因為剛才在為kaiye資料庫添加hehe使用者時,將addUser()函數的第三個值設定成了true,也就是該使用者只有唯讀許可權,所以無法進行寫操作。

    

    切換使用者,即登入同時具有讀寫權限的haha使用者,會發現既能進行find操作,也能進行insert操作。

    

    

 

    

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.