在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ MongoDB添加用戶
MongoDB教程
MongoDB覆蓋查詢
MongoDB數(shù)據(jù)建模
MongoDB聚合
MongoDB更改用戶密碼和自定義數(shù)據(jù)
MongoDB用戶
MongoDB分片
MongoDB創(chuàng)建集合
MongoDB文本搜索
MongoDB數(shù)據(jù)類(lèi)型
MongoDB GridFS
MongoDB索引限制
MongoDB插入文檔
MongoDB刪除集合
MongoDB數(shù)據(jù)庫(kù)引用
MongoDB復(fù)制
MongoDB Map Reduce
Python連接MongoDB操作
MongoDB原子操作
MongoDB特點(diǎn)
MongoDB安全檢查表
MongoDB排序記錄
MongoDB自動(dòng)遞增序列
MongoDB安裝配置(Windows)
MongoDB備份與恢復(fù)
MongoDB安裝配置(Ubuntu)
Ruby連接MongoDB操作
MongoDB部署
MongoDB索引
MongoDB分析查詢
MongoDB投影(選擇字段)
MongoDB刪除數(shù)據(jù)庫(kù)
MongoDB認(rèn)證
MongoDB限制記錄數(shù)
MongoDB添加用戶
MongoDB固定循環(huán)集合
MongoDB高級(jí)索引
MongoDB數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)
MongoDB快速入門(mén)
MongoDB創(chuàng)建數(shù)據(jù)庫(kù)
MongoDB啟用身份驗(yàn)證
MongoDB歷史
MongoDB管理用戶和角色
MongoDB安裝配置(RedHat/CentOS)
MongoDB刪除文檔
Java連接MongoDB操作
MongoDB正則表達(dá)式
MongoDB查詢文檔
MongoDB關(guān)聯(lián)關(guān)系
PHP連接MongoDB操作
MongoDB更新文檔
MongoDB ObjectId

MongoDB添加用戶

MongoDB采用基于角色的訪問(wèn)控制(RBAC)來(lái)確定用戶的訪問(wèn)。 授予用戶一個(gè)或多個(gè)角色,確定用戶對(duì)MongoDB資源的訪問(wèn)權(quán)限和用戶可以執(zhí)行哪些操作。 用戶應(yīng)該只有最小權(quán)限集才能確保最小權(quán)限的系統(tǒng)。

MongoDB系統(tǒng)的每個(gè)應(yīng)用程序和用戶都應(yīng)該映射到不同的用戶。 這種訪問(wèn)隔離便于訪問(wèn)撤銷(xiāo)和持續(xù)的用戶維護(hù)。

前提條件

如果啟用了部署的訪問(wèn)控制,則可以使用localhost異常來(lái)創(chuàng)建系統(tǒng)中的第一個(gè)用戶。 此第一個(gè)用戶必須具有創(chuàng)建其他用戶的權(quán)限。 對(duì)于MongoDB 3.0,使用localhost異常只能在admin數(shù)據(jù)庫(kù)上創(chuàng)建用戶。 創(chuàng)建第一個(gè)用戶后,必須使用該用戶進(jìn)行身份驗(yàn)證以添加后續(xù)用戶。 啟用Auth提供有關(guān)在啟用部署訪問(wèn)控制時(shí)添加用戶的更多詳細(xì)信息。

對(duì)于常規(guī)用戶創(chuàng)建,必須擁有以下權(quán)限:

  • 要在數(shù)據(jù)庫(kù)中創(chuàng)建新用戶,必須在該數(shù)據(jù)庫(kù)資源上具有createUser操作。
  • 要向用戶授予角色,必須對(duì)角色的數(shù)據(jù)庫(kù)執(zhí)行grantRole操作。

userAdminuserAdminAnyDatabase內(nèi)置角色在其各自的資源上提供createUsergrantRole操作。

例子

要在MongoDB部署中創(chuàng)建用戶,請(qǐng)連接到部署,然后使用db.createUser()方法或createUser命令添加用戶。

MongoDB是一個(gè)nosql數(shù)據(jù)庫(kù)服務(wù)器。 默認(rèn)安裝提供使用mongo命令通過(guò)命令行訪問(wèn)數(shù)據(jù)庫(kù)而不進(jìn)行身份驗(yàn)證。下面我們來(lái)學(xué)習(xí)如何在具有適當(dāng)身份驗(yàn)證的Mongodb服務(wù)器中創(chuàng)建用戶。

創(chuàng)建管理員用戶

可以使用以下命令在MongoDB服務(wù)器中創(chuàng)建具有管理員權(quán)限的用戶。

$ mongo

> use admin

> db.createUser(
     {
       user:"maxsu",
       pwd:"pwd123",
       roles:[{role:"root",db:"admin"}]
     }
  )

> exit

現(xiàn)在嘗試通過(guò)命令行使用上述用戶憑據(jù)登錄 -

D:\Program Files\MongoDB\Server\3.4\bin>mongo -u maxsu -p  --authenticationDatabase admin
MongoDB shell version v3.4.5
Enter password:
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.5
Server has startup warnings:
2017-07-05T21:16:55.901+0800 I CONTROL  [initandlisten]
2017-07-05T21:16:55.902+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-07-05T21:16:55.905+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-07-05T21:16:55.908+0800 I CONTROL  [initandlisten]
>

添加數(shù)據(jù)庫(kù)用戶

您還可以創(chuàng)建指定數(shù)據(jù)庫(kù)的用戶,該用戶只能訪問(wèn)該數(shù)據(jù)庫(kù)。也可以為此數(shù)據(jù)庫(kù)上的用戶指定訪問(wèn)級(jí)別。 例如,創(chuàng)建一個(gè)在mydb數(shù)據(jù)庫(kù)上具有讀寫(xiě)訪問(wèn)權(quán)限的用戶帳戶。

> use mydb

> db.createUser(
    {
      user: "user01",
      pwd: "pwd123",
      roles: ["readWrite"]
    }
 ) 

> exit

驗(yàn)證身份驗(yàn)證使用以下命令。 返回結(jié)果為1,表示認(rèn)證成功。

> db.auth('user01','pwd123')
1
>

要列出數(shù)據(jù)庫(kù)的所有用戶,請(qǐng)使用以下命令。

 > db.getUsers()

上面語(yǔ)句,返回結(jié)果如下所示 -

> db.getUsers()
[
        {
                "_id" : "mydb.user01",
                "user" : "user01",
                "db" : "mydb",
                "roles" : [
                        {
                                "role" : "readWrite",
                                "db" : "mydb"
                        }
                ]
        },
        {
                "_id" : "mydb.user02",
                "user" : "user02",
                "db" : "mydb",
                "roles" : [
                        {
                                "role" : "readWrite",
                                "db" : "mydb"
                        }
                ]
        }
]
>

刪除數(shù)據(jù)庫(kù)用戶

也可以使用以下命令從數(shù)據(jù)庫(kù)中刪除用戶。

> use mydb

> db.dropUser('user02')

創(chuàng)建帶角色的用戶

以下操作在test數(shù)據(jù)庫(kù)中創(chuàng)建用戶:mynewuser,并向用戶提供readWritedbAdmin角色。

use test
db.createUser(
   {
     user: "mynewuser",
     pwd: "myuser123",
     roles: [ "readWrite", "dbAdmin" ]
   }
);

創(chuàng)建沒(méi)有角色的用戶

以下操作在test數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)名為mynewuser1的用戶,但尚未分配角色:

use test
db.createUser(
   {
     user: "mynewuser1",
     pwd: "myuser1123",
     roles: [ ]
   }
);

創(chuàng)建具有角色的管理用戶

以下操作在管理數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)名為 myadmin1 的用戶,并給予用戶對(duì)config數(shù)據(jù)庫(kù)的 readWrite 訪問(wèn)權(quán)限,這樣可以讓用戶更改分片分區(qū)的某些設(shè)置,例如平衡器設(shè)置。

use admin
db.createUser(
   {
     user: "myadmin1",
     pwd: "myadmin123",
     roles:
       [
         { role: "readWrite", db: "config" },
         "clusterAdmin"
       ]
   }
);

上一篇:MongoDB刪除文檔下一篇:MongoDB分片