mongo db 學習筆記 之二: mongodb 使用者認證

來源:互聯網
上載者:User

標籤:nosql   mongodb   mongo   


首先要知道mongodb預設安裝後是沒有任何認證開啟的,也就是說,所有能串連到伺服器的人都能進資料查看,當然,你可以用防火牆來擋。但沒有防火牆的保護,資料庫暴露出來是非常危險的。


mongodb關於安全分為幾個方面,主要是:認證,角色型存取控制(授權),審計,加密,部署和環境的安全(涉及到網路跟系統的訪問環境)。


一 關於認證

使用使用者名稱認證指令為:

mongo --port 27017 -u manager -p 12345678 --authenticationDatabase admin


建立系統層級的的admin使用者,分配root角色,可以管理所有資料庫,做任意的操作:

注意:建立使用者產生的資料正常情況下應該儲存在admin庫統一管理,但也可以指定儲存在其他資料庫,先運行 use dbname,表示對dbname這個庫操作,然後運行建立使用者的命令之後,資料就儲存在"dbname"資料庫了

use admindb.createUser(    {      user: "superuser",      pwd: "12345678",      roles: [ "root" ]    })


或者建立指定資料庫的管理使用者:

use admindb.createUser(    {      user: "tracking",      pwd: "track",      roles: [         { role: "readWrite", db: "user_data_tracking" },     { role: "dbAdmin", db: "user_data_tracking" }         ]    })

建立專門系統管理使用者的使用者:

use admindb.createUser(  {    user: "siteUserAdmin",    pwd: "password",    roles:    [      {        role: "userAdminAnyDatabase",        db: "admin"      }    ]  })


userAdminAnyDatabase和userAdmin區別

userAdminAnyDatabase Provides the same access to user administration operations as userAdmin, except it applies to all databases in thecluster.

use productsdb.createUser(  {    user: "recordsUserAdmin",    pwd: "password",    roles:    [      {        role: "userAdmin",        db: "records"      }    ]  })

登入後可以查看使用者權限,用此命令:

db.runCommand(  {    usersInfo:"manager",    showPrivileges:true  })

只分配唯讀許可權:

use reportingdb.createUser(    {      user: "reportsUser",      pwd: "12345678",      roles: [         { role: "read", db: "reporting" },         { role: "read", db: "products" },         { role: "read", db: "sales" }      ]    })


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.