Mongodb
為 MongoDB 中的所有數據庫創建使用者
如何創建使用者並授予其對 MongoDB (2.2/2.4/2.6) 實例中所有可用數據庫的只讀訪問權限?
我是 MongoDB 新手,請提供詳細的分步過程。
以下是啟用授權的步驟,並創建具有
readAnyDatabase
MongoDB v2.4 部署訪問權限的使用者。
- 啟用身份驗證
- 創建使用者管理員
- 將使用者添加到數據庫- 在此步驟中,使用角色readAnyDatabase創建一個對所有數據庫具有隻讀訪問權限的使用者 - 此角色使使用者能夠從 MongoDB 環境中的所有邏輯數據庫中的任何集合中讀取數據。
例如,您可以嘗試 MongoDB v4.2 文件中的以下教程。本教程啟用訪問控制步驟與您要使用的 2.4 版的步驟類似。請注意,某些命令(例如v2.4
createUser
中的命令addUser
)具有不同的語法 - 請注意這一點。
升級到任何一個最新的 MongoDB 版本,然後很容易按照以下步驟操作:
- 對
/etc/mongod.conf
文件啟用身份驗證security: authorization: enabled
- 在 上創建一個讀取使用者
admin DB
,因為您想訪問所有數據庫。如果是特定數據庫,則在該特定數據庫上創建use admin
db.createUser( { user: "read_admin", pwd: "yourpassword", roles: [ { role: "readAnyDatabase", db: "admin" } ] } )
- 重啟 MongoDB 服務
sudo service mongod restart
- 登錄 mongo shell 並檢查使用者
mongo -u read_admin --authenticationDatabase admin