权限操作
在本页面
find
用户可以执行以下命令及其等效的帮助方法:
- 对于MongoDB 4.0.6+:如果用户没有
listDatabases
操作权限,用户运行listDatabases
命令行时authorizedDatabases
未指定或设置选项为true
,则用户可以运行该命令以返回该用户具有权限的数据库的列表(包括该用户对特定集合具有权限的数据库)。 - 对于MongoDB 4.0.5:如果用户没有
listDatabases
操作权限,在authorizedDatabases
未指定选项或设置为true
的情况下运行listDatabases
命令时,用户可以运行该命令以返回该用户对其具有find
操作权限的数据库的列表 。 - 对于MongoDB 4.0.0-4.0.4:
将此操作应用于数据库或集合资源。
insert
用户可以执行以下命令及其等效方法:以下命令及其辅助方法在_目标_集合上是必需的:将此操作应用于数据库或集合资源。remove
将此操作应用于数据库或集合资源。update
将此操作应用于数据库或集合资源。
bypassDocumentValidation
3.2版中的新功能。
将此操作应用于数据库或集合资源。
useUUID
3.6版的新功能。
用户可以使用UUID来执行以下命令 ,就像它是名称空间一样:
复制
db.runCommand({find: UUID("123e4567-e89b-12d3-a456-426655440000")})
将此操作应用于
cluster
资源。changeCustomData
用户可以更改给定数据库中任何用户的自定义信息。将此操作应用于数据库资源。changeOwnCustomData
changeOwnPassword
changePassword
用户可以更改给定数据库中任何用户的密码。将此操作应用于数据库资源。createCollection
createIndex
createRole
用户可以在给定的数据库中创建新角色。将此操作应用于数据库资源。createUser
用户可以在给定的数据库中创建新用户。将此操作应用于数据库资源。
dropCollection
dropRole
用户可以从给定的数据库中删除任何角色。将此操作应用于数据库资源。
dropUser
用户可以从给定的数据库中删除任何用户。将此操作应用于数据库资源。
enableProfiler
grantRole
用户可以将数据库中的任何角色从系统中的任何数据库授予任何用户。将此操作应用于数据库资源。
killCursors
killAnyCursor
版本3.6.3中的新功能。用户可以关闭任何游标,甚至可以关闭其他用户创建的游标。将此操作应用于收集资源。revokeRole
用户可以从系统中任何数据库的任何用户中删除任何角色。将此操作应用于数据库资源。
setAuthenticationRestriction
3.6版的新功能。
- 将此操作应用于数据库资源。
unlock
viewRole
用户可以查看有关给定数据库中任何角色的信息。将此操作应用于数据库资源。viewUser
用户可以在给定的数据库中查看任何用户的信息。将此操作应用于数据库资源。
authSchemaUpgrade
用户可以执行authSchemaUpgrade
命令。将此操作应用于cluster
资源。cleanupOrphaned
cpuProfiler
用户可以启用和使用CPU分析器。将此操作应用于cluster
资源。inprog
invalidateUserCache
killop
planCacheRead
用户可以执行以下操作:
- 将此操作应用于数据库或集合资源。
planCacheWrite
storageDetails
用户可以执行
storageDetails
命令。将此操作应用于数据库或集合资源。changeStream
appendOplogNote
用户可以在操作日志中添加注释。将此操作应用于cluster
资源。replSetConfigure
用户可以配置副本集。将此操作应用于cluster
资源。replSetGetConfig
将此操作应用于
cluster
资源。replSetGetStatus
replSetHeartbeat
用户可以执行replSetHeartbeat
命令。将此操作应用于cluster
资源。replSetStateChange
用户可以通过
replSetFreeze
,replSetMaintenance
, replSetStepDown
,和replSetSyncFrom
命令改变一个副本集的状态。将此操作应用于cluster
资源。resync
用户可以执行
resync
命令。将此操作应用于cluster
资源。addShard
clearJumboFlag
从4.2.3和4.0.15开始可用
enableSharding
资源 | 描述 |
---|---|
授予用户执行以下分区域操作的权限:- addShardToZone - updateZoneKeyRange - removeShardFromZone 如果对数据库中的相应集合执行find / update 操作,则还可以执行这些分片区 config 操作。有关详细信息,请参见具体操作。 |
flushRouterConfig
getShardMap
getShardVersion
listShards
moveChunk
removeShard
shardingState
splitChunk
splitVector
applicationMessage
closeAllDatabases
用户可以执行
closeAllDatabases
命令。将此操作应用于cluster
资源。collMod
compact
connPoolSync
convertToCapped
dropConnections
dropDatabase
dropIndex
forceUUID
3.6版的新功能。
将此操作应用于
cluster
资源。fsync
getParameter
hostInfo
提供有关运行MongoDB实例的服务器的信息。将此操作应用于
cluster
资源。logRotate
reIndex
renameCollectionSameDB
setParameter
shutdown
touch
用户可以执行
touch
命令。将此操作应用于cluster
资源。impersonate
3.6版的新功能。
killAnySession
3.6版的新功能。
checkFreeMonitoringStatus
4.0版本中的新功能。
setFreeMonitoring
4.0版本中的新功能。
collStats
connPoolStats
cursorInfo
dbHash
dbStats
getCmdLineOpts
getLog
indexStats
用户可以执行
indexStats
命令。将此操作应用于数据库或集合资源。在版本3.0_中进行了_更改: MongoDB 3.0删除了该
indexStats
命令。listDatabases
- 对于MongoDB 4.0.6+:如果用户没有
listDatabases
操作权限,则如果运行listDatabases
命令时authorizedDatabases
未指定或设置选项为true
,则用户可以运行该命令以返回该用户具有权限的数据库的列表(包括该用户对特定集合具有权限的数据库)。 - 对于MongoDB 4.0.5:如果用户没有
listDatabases
操作权限,则在authorizedDatabases
命令未指定选项或设置为true
的情况下运行listDatabases
命令时,用户可以运行该命令以返回该用户对其具有find
操作权限的数据库的列表 。 - 对于MongoDB 4.0.0-4.0.4:
listCollections
注意从4.0版本开始,没有所需权限的用户可以在authorizedCollections
和nameOnly
选项都设置为true
的情况下运行listCollections
命令。在这种情况下,该命令仅返回用户具有特权的集合的名称和类型。
listIndexes
netstat
serverStatus
validate
top
anyAction
允许对资源执行任何操作。除非绝对必要,否则不要分配此操作。
internal
允许内部动作。除非绝对必要,否则不要分配此操作。
译者:谢伟成