mongo內置角色

MongoDB提供一些內置角色,它給數據庫系統提供了不一樣的訪問級別。每一個數據庫都有內置的數據庫用戶角色和數據庫管理角色。admin數據庫則包含了額外的一些角色。mongodb

本頁面簡單描述了這些內置角色。每一個角色所賦予的特定的權限,請看Build-in Roles參考頁。數據庫

數據庫用戶角色

每一個數據庫包含以下角色:app

Role Short Description
read

For the specific privileges granted by the role, see read.ide

提供對於non-system collections和如下system collections(system.indexes,system.js和system.namespaces)的讀權限。ui

 

readWrite

For the specific privileges granted by the role, see readWrite.this

提供了全部read所具備的權限,同時還具備修改non-system collections以及system.js collection的權限。spa

數據庫管理權限

每一個數據庫包含如下數據庫管理權限:rest

Role Short Description
dbAdmin

For the specific privileges granted by the role, see dbAdmin.orm

能夠執行schema相關工做,建立索引/收集統計數據等。該角色沒有用戶和角色管理權限。server

dbOwner

能夠管理數據庫。它包含了readWrite/dbAdmin/userAdmin的角色權限。

userAdmin

For the specific privileges granted by the role, see userAdmin.

能夠在當前數據庫建立和修改用戶和角色。由於userAdmin容許相應用戶將任何特權授予給任何用戶,因此該角色能夠間接給數據庫提供超級用戶的權限,若是做用到admin數據庫,還能夠對集羣提供超級用戶的權限。

集羣管理權限

admin數據庫爲管理整個數據庫系統提供瞭如下角色。這些角色包含了副本集和分片集羣,但不限於此。

Role Short Description
clusterAdmin

集羣管理提供了集羣管理的最高權限。該角色包含的權限涵蓋clusterManager, clusterMonitor,hostManager。

另外,該角色可執行dropDatabase

clusterManager

For the specific privileges granted by the role, see clusterManager.

提供了管理和監控集羣的功能。被賦予此角色的用戶能夠訪問config/local數據庫,這些數據庫分別被用於分片和副本。

clusterMonitor

For the specific privileges granted by the role, see clusterMonitor.

爲MongoDB Cloud Manager和Ops Manager監控agent提供只讀訪問權限。

hostManager

用於監控和管理server

For the specific privileges granted by the role, see hostManager.

備份和恢復權限:

admin數據庫包含以下備份和恢復數據的角色。

Role Short Description
backup

提供備份數據所需的特權。該角色提供足夠的權限來使用MongoDB雲管理備份agent/Ops Manager備份agent,或mongodump。

For the specific privileges granted by the role, see backup.

restore

Provides privileges needed to restore data with mongorestore without the --oplogReplay option or without system.profile collection data.

提供了使用mongorestore恢復數據的權限,mongorestore不能帶有參數--oplogReplay,也不能使用system.profile collection的數據。

For the specific privileges granted by the role, see restore.

全數據庫角色

admin數據庫提供瞭如下角色能夠應用到全部數據庫,和單個數據庫中的角色大體等同。

Role Short Description
readAnyDatabase

和read提供相同的權限,只不過是該角色應用到全部數據庫。該角色同時能夠在整個集羣上使用listDatabases命令。

For the specific privileges granted by the role, see readAnyDatabase.

readWriteAnyDatabase

和readWrite提供相同的權限,只不過是該角色應用到全部數據庫。該角色同時能夠在整個集羣上使用listDatabases命令。

For the specific privileges granted by the role, see readWriteAnyDatabase.

userAdminAnyDatabase

和userAdmin提供相同的權限,只不過是該角色應用到全部數據庫。

由於userAdminAnyDatabase容許全部權限賦予給全部用戶,包括自身,因此間接提供了superuser權限。

For the specific privileges granted by the role, see userAdminAnyDatabase.

dbAdminAnyDatabase

和dbAdmin提供相同的權限,只不過是該角色應用到全部數據庫。該角色同時能夠在整個集羣上使用listDatabases命令。

For the specific privileges granted by the role, see dbAdminAnyDatabase.

超級用戶角色

如下角色對全部資源提供所有的權限:

Role Short Description
root

Provides access to the operations and all the resources of thereadWriteAnyDatabasedbAdminAnyDatabaseuserAdminAnyDatabaseand clusterAdmin roles combined.

For the specific privileges granted by the role, see root.

Internal Role

內部角色

Role Short Description
__system

Provides privileges to take any action against any object in the database.

Do not assign this role to user objects representing applications or human administrators, other than in exceptional circumstances.

For more information, see root.

 

https://docs.mongodb.com/manual/core/security-built-in-roles/

相關文章
相關標籤/搜索