Mongodb創建修改用戶權限


1. 創建用戶

db.createUser(
  {
    user: "user2",
    pwd: "user2",
    roles: [
       { role: "dbOwner", db: "db1" },
       { role: "clusterManager", db: "admin" }
    ]
  }
)

 

2. 修改用戶

db.updateUser(
    "user3",
    {
    customDate:{"any information"},
    roles: [
       { role: "dbOwner", db: "db1" },
       { role: "clusterManager", db: "admin" }
    ],
    pwd:"password"
    },
    writeconcem:{<write concem>}
)

 

Mongodb角色表:

角色分類

角色

權限及角色

(本文大小寫可能有些變化,使用時請參考官方文檔)

Database User Roles

read

CollStats,dbHash,dbStats,find,killCursors,listIndexes,listCollections

readWrite

CollStats,ConvertToCapped,CreateCollection,DbHash,DbStats,

DropCollection,CreateIndex,DropIndex,Emptycapped,Find,

Insert,KillCursors,ListIndexes,ListCollections,Remove,

RenameCollectionSameDB,update

Database Administration Roles

dbAdmin

collStats,dbHash,dbStats,find,killCursors,listIndexes,listCollections,

dropCollection 和 createCollection 在 system.profile

dbOwner

角色:readWrite, dbAdmin,userAdmin

userAdmin

ChangeCustomData,ChangePassword,CreateRole,CreateUser,

DropRole,DropUser,GrantRole,RevokeRole,ViewRole,viewUser

Cluster Administration Roles

clusterAdmin

角色:clusterManager, clusterMonitor, hostManager

clusterManager

AddShard,ApplicationMessage,CleanupOrphaned,FlushRouterConfig,

ListShards,RemoveShard,ReplSetConfigure,ReplSetGetStatus,

ReplSetStateChange,Resync,

 

EnableSharding,MoveChunk,SplitChunk,splitVector

clusterMonitor

connPoolStats,cursorInfo,getCmdLineOpts,getLog,getParameter,

getShardMap,hostInfo,inprog,listDatabases,listShards,netstat,

replSetGetStatus,serverStatus,shardingState,top

 

collStats,dbStats,getShardVersion

hostManager

applicationMessage,closeAllDatabases,connPoolSync,cpuProfiler,

diagLogging,flushRouterConfig,fsync,invalidateUserCache,killop,

logRotate,resync,setParameter,shutdown,touch,unlock

Backup and Restoration Roles

backup

提供在admin數據庫mms.backup文檔中insert,update權限

列出所有數據庫:listDatabases

列出所有集合索引:listIndexes

 

對以下提供查詢操作:find

*非系統集合

*系統集合:system.indexes, system.namespaces, system.js

*集合:admin.system.users 和 admin.system.roles

restore

非系統集合、system.js,admin.system.users 和 admin.system.roles 及2.6 版本的system.users提供以下權限:

collMod,createCollection,createIndex,dropCollection,insert

 

列出所有數據庫:listDatabases

system.users :find,remove,update

All-Database Roles

readAnyDatabase

提供所有數據庫中只讀權限:read

列出集群所有數據庫:listDatabases

readWriteAnyDatabase

提供所有數據庫讀寫權限:readWrite

列出集群所有數據庫:listDatabases

userAdminAnyDatabase

提供所有用戶數據管理權限:userAdmin

Cluster:authSchemaUpgrade,invalidateUserCache,listDatabases

admin.system.users和admin.system.roles:

collStats,dbHash,dbStats,find,killCursors,planCacheRead

createIndex,dropIndex

dbAdminAnyDatabase

提供所有數據庫管理員權限:dbAdmin

列出集群所有數據庫:listDatabases

Superuser Roles

root

角色:dbOwner,userAdmin,userAdminAnyDatabase

readWriteAnyDatabase, dbAdminAnyDatabase,

userAdminAnyDatabase,clusterAdmin

Internal Role

__system

集群中對任何數據庫采取任何操作

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM