好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Mongodb如何開啟用戶訪問控制詳解

Mongodb如何開啟用戶訪問控制詳解

熱門標簽:呼和浩特電銷外呼系統加盟 電銷機器人是什么軟件 杭州人工電銷機器人價格 云南外呼系統 老虎洗衣店地圖標注 怎么投訴地圖標注 濟南電銷機器人加盟公司 蘋果汽車租賃店地圖標注 廣州長安公司怎樣申請400電話

前言

Mongodb 數據庫默認情況下是沒有訪問控制的,整個數據庫對外是開發的,只要能連上數據庫,則可以進行任何操作,這會對數據帶來很大的風險。當然,我們可以啟用mongodb的訪問控制,只讓通過認證的用戶才能對數據庫進行角色范圍內的操作。

啟用訪問控制可以通過在啟動 mongodb 時指定 --auth 參數來設置,另外還涉及到創建用戶 db.createUser 操作以及一些角色的定義,我們先來看這部分內容。

db.createUser() 用法

db.createUser({
 user: "$USERNAME",
 pwd: "$PASSWROD",
 roles: [
 { role: "$ROLE_NAME", db: "$DBNAME"}
 ]
})

參數說明:

  • user 是用戶名
  • pwd 是密碼
  • role 來指定用戶的角色
  • db 來指定所屬的數據庫
  • roles 是用戶所有角色的集合

Mongodb 預定義角色

Mongodb 中預定義了一些角色,把這些角色賦予給適當的用戶上,用戶就只能進行角色范圍內的操作。

1、數據庫用戶角色 (所有數據庫都有)

  • read 用戶可以讀取當前數據庫的數據
  • readWrite 用戶可以讀寫當前數據庫的數據

2、數據庫管理角色(所有數據庫都有)

  1. dbAdmin 管理員用戶但不能對用戶和角色管理授權
  2. dbOwner 數據庫所有者可進行任何管理任務
  3. userAdmin 可以管理當前數據的用戶和角色

3、集群管理角色(admin數據庫可用)

  1. clusterAdmin 集群所有管理權限,是 clusterManager , clusterMonitor, hostManager 合集
  2. clusterManager 集群管理和監控
  3. clusterMonitor 集群監控,只讀的
  4. hostManager 監控和管理服務器

4、備份和恢復角色(admin數據庫可用)

  1. backup
  2. restore

5、所有數據庫角色(admin數據庫可用)

  1. readAnyDatabase 讀取所有數據庫
  2. readWriteAnyDatabase 讀寫所有數據庫
  3. userAdminAnyDatabase 所有數據庫的 userAdmin 權限
  4. dbAdminAnyDatabase 所有數據庫的 dbAdmin 權限

6、超級角色(admin數據庫可用)

  1. root 超級用戶

7、內部角色

  • __system 所有操作權限

更多預定于角色的信息請參看:https://docs.mongodb.com/manual/core/security-built-in-roles/

啟用訪問控制的步驟

1, 啟動 mongodb 實例,關閉 訪問控制

不帶 --auth

./mongod

2, 連接上 mongodb 實例

./mongo

3,創建用戶管理員

在 admin 數據庫中添加一個 具有 userAdminAnyDatabase 角色的用戶作為用戶管理用戶。下面的例子中創建了 admin 為用戶管理員。

> use admin
switched to db admin
> db.createUser({
... user: "admin",
... pwd: "admin",
... roles: [
... { role: "userAdminAnyDatabase", db: "admin"}
... ]
... })
Successfully added user: {
 "user" : "admin",
 "roles" : [
  {
   "role" : "userAdminAnyDatabase",
   "db" : "admin"
  }
 ]
}
>

退出連接

4,重啟數據庫啟用訪問控制

命令行啟動,只需要添加 --auth 參數

./mongo --auth

5,使用管理用戶連接,有兩種方法

  1. 使用命令行 ./mongo -u "$USERNAME" -p "$PASSWROD" --authenticationDatabase "admin"
  2. 使用 db.auth()

我們使用第二種

> 
> use admin
switched to db admin
> db.auth("admin", "admin")
1
>

1 表示認證成功

6, 為某個數據庫創建獨立用戶

以下為 test 數據庫 創建具有讀寫權限的用戶 test

admin 用戶由于只有 userAdminAnyDatabase 權限,所以沒有 test 數據的讀寫權限,所以,為了讀寫 test 數據庫,我們需要創建一個用戶。先看一下直接用 admin 會報什么錯誤

> use test
> show collections
2017-01-13T13:49:17.691+0800 E QUERY [thread1] Error: listCollections failed: {
"ok" : 0,
"errmsg" : "not authorized on test to execute command { listCollections: 1.0, filter: {} }",
"code" : 13
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype._getCollectionInfosCommand@src/mongo/shell/db.js:773:1
DB.prototype.getCollectionInfos@src/mongo/shell/db.js:785:19
DB.prototype.getCollectionNames@src/mongo/shell/db.js:796:16
shellHelper.show@src/mongo/shell/utils.js:754:9
shellHelper@src/mongo/shell/utils.js:651:15
@(shellhelp2):1:1

我們直接使用 show collections , 則報錯:not authorized on test to execute command ,意思是沒有權限。

> use test
switched to db test
> db.createUser({
... user: "test",
... pwd: "test",
... roles: [
... { role: "readWrite", db: "test"}
... ]
... })
Successfully added user: {
 "user" : "test",
 "roles" : [
  {
   "role" : "readWrite",
   "db" : "test"
  }
 ]
}
>

然后我們使用 db.auth(“test”, “test”) , 再執行命令 則沒有報錯

> db.auth("test", "test")
1
> 
> show collections

試著寫入一條數據,也是正常的。

> db.t.insert({name:"buzheng"});
WriteResult({ "nInserted" : 1 })
> db.t.find();
{ "_id" : ObjectId("58786c84bf5dd606ddfe1144"), "name" : "buzheng" }
>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

您可能感興趣的文章:
  • MongoDB 3.0+安全權限訪問控制詳解
  • 分布式文檔存儲數據庫之MongoDB備份與恢復的實踐詳解
  • 分布式文檔存儲數據庫之MongoDB分片集群的問題
  • 分布式文檔存儲數據庫之MongoDB訪問控制的操作方法

標簽:興安盟 自貢 泰安 玉林 廈門 無錫 遼陽 雞西

巨人網絡通訊聲明:本文標題《Mongodb如何開啟用戶訪問控制詳解》,本文關鍵詞  Mongodb,如何,開啟,用戶,訪問,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mongodb如何開啟用戶訪問控制詳解》相關的同類信息!
  • 本頁收集關于Mongodb如何開啟用戶訪問控制詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 久久99热这里只频精品6学生| 国产精品老女人精品视| 噗呲噗呲捣出白沫蜜汁| freehdxxxxtubevodes| 91欧美一区二区三区成人| 欧美小电影| 妾h| 桃色一区二区三区| 久久国产免费一区| 免费网站成人??视频软件| 国产成人国拍亚洲精品| 一女三男做爰3p视频| 久久精品国产无限资源| 蜜桃av乱码人妻一二三区| 丁香六月情| 中文字幕久久亚洲一区| 四虎影视成人精品一区| 亚洲福利三区| 木鱼天影院| 6080yy在线视频| 99色综合| 免费观看www7755.com| 日本亚洲国产| 无码人妻一区二区日韩| 美女吸乳羞羞动漫| 夫妇交换性新婚6| 亚洲男人天堂a| 衣服被扒开强摸双乳扒开屁股app| 国产成人精品电影| 久久一级毛片| 免费的靠逼视频| 午夜性色福利影院| 91人妻人人澡人人爽人人精东影业| 天堂影院在线观看高清在线| 花花公子嫩模裸乳写真| 婷婷色综合网| 青青草福利视频| 精品一精品国产一级毛片| 徐倩被校长下药褪去内裤| 日日做夜夜欢狠狠爱视频| 老司机a湿影院免费|