最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mongodb 用戶權(quán)限管理及配置詳解

 更新時間:2023年01月26日 14:48:53   作者:weixin_34272308  
這篇文章主要介紹了Mongodb 用戶權(quán)限管理及配置詳解,包括Mongodb訪問控制配置,Mongodb開啟權(quán)限驗證,Mongodb賬戶創(chuàng)建,Mongodb賬戶管理命令需要的朋友可以參考下

一、Mongodb命令

理解 admin 數(shù)據(jù)庫

安裝 MongoDB 時,會自動創(chuàng)建 admin 數(shù)據(jù)庫,這是一個特殊數(shù)據(jù)庫,提供了普通數(shù)據(jù)庫沒有的功能。

有些用戶角色賦予用戶操作多個數(shù)據(jù)庫的權(quán)限,而這些角色只能在 admin 數(shù)據(jù)庫中創(chuàng)建,要創(chuàng)建有權(quán)操作所有數(shù)據(jù)庫的超級用戶,必須將該用戶加入到 admin 數(shù)據(jù)庫中。檢查憑證時,MongoDB 將在指定數(shù)據(jù)庫和 admin 數(shù)據(jù)庫中檢查用戶賬戶。

內(nèi)建的角色

數(shù)據(jù)庫用戶角色:read、readWrite;
數(shù)據(jù)庫管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
備份恢復(fù)角色:backup、restore;
所有數(shù)據(jù)庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超級用戶角色:root #這里還有幾個角色間接或直接提供了系統(tǒng)超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)

內(nèi)部角色:__system

角色說明:

read:允許用戶讀取指定數(shù)據(jù)庫;
readAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的讀權(quán)限;
readWrite:允許用戶讀寫指定數(shù)據(jù)庫;
readWriteAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的讀寫權(quán)限;
dbAdmin:允許用戶在指定數(shù)據(jù)庫中執(zhí)行管理函數(shù),如索引創(chuàng)建、刪除,查看統(tǒng)計或訪問system.profile;
dbAdminAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的dbAdmin權(quán)限;
clusterAdmin:只在admin數(shù)據(jù)庫中可用,賦予用戶所有分片和復(fù)制集相關(guān)函數(shù)的管理權(quán)限;
userAdmin:允許用戶向system.users集合寫入,可以找指定數(shù)據(jù)庫里創(chuàng)建、刪除和管理用戶;
userAdminAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的userAdmin權(quán)限;
root:只在admin數(shù)據(jù)庫中可用。超級賬號,超級權(quán)限;

主要命令

show dbs #顯示數(shù)據(jù)庫列表 
show collections #顯示當前數(shù)據(jù)庫中的集合(類似關(guān)系數(shù)據(jù)庫中的表)
show users #顯示用戶
use <db name> #切換當前數(shù)據(jù)庫,如果數(shù)據(jù)庫不存在則創(chuàng)建數(shù)據(jù)庫。 
db.help() #顯示數(shù)據(jù)庫操作命令,里面有很多的命令 
db.foo.help() #顯示集合操作命令,同樣有很多的命令,foo指的是當前數(shù)據(jù)庫下,一個叫foo的集合,并非真正意義上的命令 
db.foo.find() #對于當前數(shù)據(jù)庫中的foo集合進行數(shù)據(jù)查找(由于沒有條件,會列出所有數(shù)據(jù)) 
db.foo.find( { a : 1 } ) #對于當前數(shù)據(jù)庫中的foo集合進行查找,條件是數(shù)據(jù)中有一個屬性叫a,且a的值為1

MongoDB沒有創(chuàng)建數(shù)據(jù)庫的命令,但有類似的命令。 如:如果你想創(chuàng)建一個“myTest”的數(shù)據(jù)庫,先運行use myTest命令,之后就做一些操作(如:db.createCollection(‘user’)),這樣就可以創(chuàng)建一個名叫“myTest”的數(shù)據(jù)庫。

其他命令

db.dropDatabase() #刪除當前使用數(shù)據(jù)庫
db.cloneDatabase("127.0.0.1") #將指定機器上的數(shù)據(jù)庫的數(shù)據(jù)克隆到當前數(shù)據(jù)庫
db.copyDatabase("mydb", "temp", "127.0.0.1") #將本機的mydb的數(shù)據(jù)復(fù)制到temp數(shù)據(jù)庫中
db.repairDatabase() #修復(fù)當前數(shù)據(jù)庫
db.getName() #查看當前使用的數(shù)據(jù)庫,也可以直接用db
db.stats() #顯示當前db狀態(tài)
db.version() #當前db版本
db.getMongo() #查看當前db的鏈接機器地址
db.serverStatus() #查看數(shù)據(jù)庫服務(wù)器的狀態(tài)

二、配置訪問控制

1、介紹

MongoDB安裝完成后,數(shù)據(jù)庫 admin 中沒有任何用戶賬戶。在數(shù)據(jù)庫 admin 中沒有任何賬戶時,MongoDB 向從本地主機發(fā)起的連接提供全面的數(shù)據(jù)庫管理權(quán)限。因此配置 MongoDB 新實例時,首先需要創(chuàng)建用戶管理員賬戶數(shù)據(jù)庫管理員賬戶。用戶管理員賬戶可在 admin 和其他數(shù)據(jù)庫中創(chuàng)建用戶賬戶。您還需要創(chuàng)建一個數(shù)據(jù)庫管理員賬戶,將其作為管理數(shù)據(jù)庫、集群、復(fù)制和 MongoDB 其他方面的超級用戶。

用戶管理員賬戶和數(shù)據(jù)庫管理員賬戶都是在數(shù)據(jù)庫 admn 中創(chuàng)建的。在 MongoDB 服務(wù)器中啟用身份驗證后,要以用戶管理員或數(shù)據(jù)庫管理員的身份連接到服務(wù)器,必須向 admin 數(shù)據(jù)庫驗證身份,您還需在每個數(shù)據(jù)庫中創(chuàng)建用戶賬戶,讓這些用戶能夠訪問該數(shù)據(jù)庫。

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

  • 配置訪問控制的第一步是創(chuàng)建用戶管理員賬戶。用戶管理員應(yīng)只有創(chuàng)建用戶賬戶的權(quán)限,而不能管理數(shù)據(jù)庫或執(zhí)行其他管理任務(wù)。這確保數(shù)據(jù)庫管理和用戶賬戶管理之間有清晰的界限。

  • 在 admin 數(shù)據(jù)庫中,添加一個用戶并賦予userAdminAnyDatabase角色,userAdminAnyDatabase只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的userAdmin權(quán)限。

例如,下面是在 admin 數(shù)據(jù)庫中創(chuàng)建一個名為myUserAdmin用戶。

[root@mbasic ~]# mongo
MongoDB shell version: 3.2.6
connecting to: test
> use admin
switched to db admin
> db.createUser(
...   {
...     user: "myUserAdmin",
...     pwd: "abc123",
...     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
...   }
... )
Successfully added user: {
        "user" : "myUserAdmin",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                }
        ]
}
>

用戶管理員應(yīng)只有創(chuàng)建用戶賬戶的權(quán)限,而不能管理數(shù)據(jù)庫或執(zhí)行其他管理任務(wù)。
要創(chuàng)建某個庫的管理用戶,必須在 admin 進行認證,給哪個庫創(chuàng)建用戶就先切換到哪個庫下面。

4、開啟權(quán)限驗證

  • 編輯配置文件/etc/mongod.conf,修改內(nèi)容如下:

    security:
    authorization: enabled
  • 重啟mongodb服務(wù)

    systemctl restart mongod
  • 現(xiàn)在,客戶端連接到服務(wù)器時必須提供用戶名和密碼。另外,從 MongoDB shell 訪問 MongoDB 服務(wù)器時,如果要添加用戶賬戶,必須執(zhí)行下面的命令向數(shù)據(jù)庫 admin 驗證身份:
    > use admin
    switched to db admin
    > db.auth("myUserAdmin","abc123")
    1
    >

    也可以在啟動 MongoDB shell 時使用選項-u-p向數(shù)據(jù)庫 admin 驗證身份:

    mongo -u "myUserAdmin" -p "abc123" --authenticationDatabase admin

5、創(chuàng)建數(shù)據(jù)庫管理員賬戶

要創(chuàng)建數(shù)據(jù)庫管理員,可在 MongoDB shell 中切換到數(shù)據(jù)庫 admin,再使用方法createUser添加角色為readWriteAnyDatabasedbAdminAnyDatabaseclusterAdmin的用戶。這讓這名用戶能夠訪問系統(tǒng)中的所有數(shù)據(jù)庫、創(chuàng)建新的數(shù)據(jù)庫以及管理 MongoDB 集群和副本集。

  • 創(chuàng)建一個名為 dbadmin 的數(shù)據(jù)庫管理員:
    > use admin
    switched to db admin
    > db.createUser(
    ...    {
    ...      user: "dbadmin",
    ...      pwd: "abc123",
    ...      roles: [ "readWriteAnyDatabase", "dbAdminAnyDatabase","clusterAdmin" ]
    ...    }
    ... )
    Successfully added user: {
        "user" : "dbadmin",
        "roles" : [
                "readWriteAnyDatabase",
                "dbAdminAnyDatabase",
                "clusterAdmin"
        ]
    }

數(shù)據(jù)庫管理員能夠訪問系統(tǒng)中的所有數(shù)據(jù)庫、創(chuàng)建新的數(shù)據(jù)庫以及管理 MongoDB 集群和副本集。
如果要求管理其他數(shù)據(jù)庫,首先要去 admin 庫里面去認證。

三、創(chuàng)建普通用戶

一旦經(jīng)過認證的用戶管理員,可以使用db.createUser()去創(chuàng)建額外的用戶。
你可以分配mongodb內(nèi)置的角色或用戶自定義的角色給用戶。

這個 myUserAdmin 用戶僅僅只有特權(quán)去管理用戶和角色,如果你試圖執(zhí)行其他任何操作,例如在 test 數(shù)據(jù)庫中的foo集合中去讀數(shù)據(jù),mongodb將返回錯誤。

你創(chuàng)建用戶的數(shù)據(jù)庫(這里就是test數(shù)據(jù)庫)是該用戶認證數(shù)據(jù)庫。盡管用戶認證是這個數(shù)據(jù)庫,用戶依然可以有其他數(shù)據(jù)庫的角色。即用戶認證數(shù)據(jù)庫不限制用戶權(quán)限。

創(chuàng)建一個角色為readWrite的用戶 test1 來管理數(shù)據(jù)庫test。

[root@mbasic ~]# mongo
MongoDB shell version: 3.2.6
connecting to: test
> use admin
switched to db admin
> db.auth('myUserAdmin','abc123')
1
> use test
switched to db test
> db.createUser(
...    {
...      user:"test1",
...      pwd: "test1",
...      roles: [{ role: "readWrite", db: "test"}]
...    }
...  )
Successfully added user: {
        "user" : "test1",
        "roles" : [
                {
                        "role" : "readWrite",
                        "db" : "test"
                }
        ]
}
>

驗證

[root@mbasic ~]# mongo
MongoDB shell version: 3.2.6
connecting to: test
> use test
switched to db test
> db.auth('test1','test1')
1
>

創(chuàng)建一個dmp用戶,對dmp數(shù)據(jù)庫只讀權(quán)限。

> use admin
switched to db admin
> db.auth('myUserAdmin','abc123')
1
> use dmp
switched to db dmp
>db.createUser(
{
   user:"dmp1",
   pwd: "dmp1pass",
   roles: [{ role: "read", db: "dmp"}]
}
)

四、Mongodb 使用

1、導入 csv 數(shù)據(jù)

我們創(chuàng)建了一個數(shù)據(jù)庫 dmp,并且創(chuàng)建一個有讀寫權(quán)限的用戶 dmp,密碼dmp,我們導入一個從其他數(shù)據(jù)庫導出來的 csv 格式的數(shù)據(jù)。

[root@mbasic ~]# mongoimport -udmp -p dmp --db dmp --collection dmp_merge_basic --type csv --headerline --ignoreBlanks --file dmp.csv
2018-09-20T15:23:38.024+0800 connected to: localhost
2018-09-20T15:23:39.441+0800 imported 15347 documents

2、GUI圖形管理工具

  • 把git倉庫克隆到本地

    git clone https://github.com/mrvautin/adminMongo
  • 進入倉庫
    cd adminMongo
  • 安裝
    npm install
  • 啟動
    npm start
  • 訪問地址

    http://YOUR_SERVER_IP:1234
  • 連接
    mongodb://dmp:dmp@10.0.1.26:27017/dmp

Mongodb 用戶權(quán)限管理及配置

  • 查看數(shù)據(jù)

Mongodb 用戶權(quán)限管理及配置

到此這篇關(guān)于Mongodb 用戶權(quán)限管理及配置詳解的文章就介紹到這了,更多相關(guān)Mongodb 用戶權(quán)限管理及配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于MongoDB實現(xiàn)聊天記錄的存儲問題小結(jié)

    基于MongoDB實現(xiàn)聊天記錄的存儲問題小結(jié)

    MongoDB是一個高性能、易部署、易使用的數(shù)據(jù)庫系統(tǒng),具有豐富的功能和特點,適用于各種規(guī)模的應(yīng)用程序和場景,這篇文章給大家介紹基于MongoDB實現(xiàn)聊天記錄的存儲問題,感興趣的朋友一起看看吧
    2024-02-02
  • MongoDB的備份與恢復(fù)

    MongoDB的備份與恢復(fù)

    這篇文章主要介紹了MongoDB的備份與恢復(fù),幫助大家更好的理解和學習使用MongoDB,感興趣的朋友可以了解下
    2021-03-03
  • MongoDB查詢操作限制返回字段的方法

    MongoDB查詢操作限制返回字段的方法

    這篇文章主要介紹了MongoDB查詢操作限制返回字段的方法,需要的朋友可以參考下
    2014-05-05
  • window下安裝配置mongodb的教程圖解

    window下安裝配置mongodb的教程圖解

    本文通過圖文并茂的形式給大家介紹了window下安裝配置mongodb的方法,需要的朋友可以參考下
    2018-02-02
  • Mongodb的oplog詳解

    Mongodb的oplog詳解

    這篇文章主要介紹了Mongodb的oplog詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • windows下mongodb安裝與使用圖文教程(整理)

    windows下mongodb安裝與使用圖文教程(整理)

    這篇文章主要介紹了windows下mongodb安裝與使用圖文教程(整理)的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • windows安裝mongodb6.x并設(shè)置用戶名密碼的詳細過程

    windows安裝mongodb6.x并設(shè)置用戶名密碼的詳細過程

    這篇文章主要介紹了windows安裝mongodb6.x并設(shè)置用戶名密碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • mongodb 數(shù)據(jù)庫操作--備份 還原 導出 導入

    mongodb 數(shù)據(jù)庫操作--備份 還原 導出 導入

    mongodb數(shù)據(jù)備份和還原主要分為二種,一種是針對于庫的mongodump和mongorestore,一種是針對庫中表的mongoexport和mongoimport。
    2014-07-07
  • mongodb實現(xiàn)同庫聯(lián)表查詢方法示例

    mongodb實現(xiàn)同庫聯(lián)表查詢方法示例

    在關(guān)系型數(shù)據(jù)庫中,通過連接運算符可以實現(xiàn)多個表聯(lián)合查詢。而非關(guān)系型數(shù)據(jù)庫的特點是表之間屬于弱關(guān)聯(lián),下面這篇文章主要給大家介紹了關(guān)于mongodb實現(xiàn)同庫聯(lián)表查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • Windows下MongoDB的下載安裝、環(huán)境配置教程圖解

    Windows下MongoDB的下載安裝、環(huán)境配置教程圖解

    這篇文章主要介紹了Windows下MongoDB的下載安裝、環(huán)境配置教程詳解,本文給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-06-06

最新評論

平度市| 香河县| 安仁县| 嘉兴市| 苍南县| 通道| 招远市| 平凉市| 东平县| 炉霍县| 任丘市| 广元市| 清远市| 凤翔县| 手游| 平湖市| 桦川县| 沂水县| 新泰市| 鹰潭市| 娄底市| 望谟县| 玉林市| 定边县| 阿瓦提县| 鄂伦春自治旗| 东兰县| 郧西县| 泊头市| 花垣县| 伊吾县| 呈贡县| 浦东新区| 海伦市| 海南省| 长治县| 吉木萨尔县| 枣强县| 鄂尔多斯市| 阳西县| 龙州县|