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

鍍金池/ 教程/ 數(shù)據(jù)庫/ MongoDB添加用戶
MongoDB教程
MongoDB覆蓋查詢
MongoDB數(shù)據(jù)建模
MongoDB聚合
MongoDB更改用戶密碼和自定義數(shù)據(jù)
MongoDB用戶
MongoDB分片
MongoDB創(chuàng)建集合
MongoDB文本搜索
MongoDB數(shù)據(jù)類型
MongoDB GridFS
MongoDB索引限制
MongoDB插入文檔
MongoDB刪除集合
MongoDB數(shù)據(jù)庫引用
MongoDB復(fù)制
MongoDB Map Reduce
Python連接MongoDB操作
MongoDB原子操作
MongoDB特點
MongoDB安全檢查表
MongoDB排序記錄
MongoDB自動遞增序列
MongoDB安裝配置(Windows)
MongoDB備份與恢復(fù)
MongoDB安裝配置(Ubuntu)
Ruby連接MongoDB操作
MongoDB部署
MongoDB索引
MongoDB分析查詢
MongoDB投影(選擇字段)
MongoDB刪除數(shù)據(jù)庫
MongoDB認(rèn)證
MongoDB限制記錄數(shù)
MongoDB添加用戶
MongoDB固定循環(huán)集合
MongoDB高級索引
MongoDB數(shù)據(jù)庫的優(yōu)點
MongoDB快速入門
MongoDB創(chuàng)建數(shù)據(jù)庫
MongoDB啟用身份驗證
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采用基于角色的訪問控制(RBAC)來確定用戶的訪問。 授予用戶一個或多個角色,確定用戶對MongoDB資源的訪問權(quán)限和用戶可以執(zhí)行哪些操作。 用戶應(yīng)該只有最小權(quán)限集才能確保最小權(quán)限的系統(tǒng)。

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

前提條件

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

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

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

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

例子

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

MongoDB是一個nosql數(shù)據(jù)庫服務(wù)器。 默認(rèn)安裝提供使用mongo命令通過命令行訪問數(shù)據(jù)庫而不進(jìn)行身份驗證。下面我們來學(xué)習(xí)如何在具有適當(dāng)身份驗證的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)在嘗試通過命令行使用上述用戶憑據(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ù)庫用戶

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

> use mydb

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

> exit

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

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

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

 > db.getUsers()

上面語句,返回結(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ù)庫用戶

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

> use mydb

> db.dropUser('user02')

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

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

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

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

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

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

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

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

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

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