As ações de privilégios definem as operações que um usuário pode executar em umrecurso do . Um privilégio MongoDB compreende um recurso e as ações permitidas. Esta página lista ações disponíveis agrupadas por finalidade comum.
O MongoDB fornece roles incorporados com emparelhamentos predefinidos de recursos e ações permitidas. Para listas das ações concedidas, consulte:
Para definir funções personalizadas, consulte:
Ações de query e gravação
findO usuário pode executar os seguintes comandos e seus métodos de ajuda equivalentes:
aggregatepara todas as operações de pipeline exceto$collStats,$oute$indexStats.killCursors, desde que o cursor esteja associado a um usuário atualmente autenticado.mapReducecom a opção{out: inline}.
Necessário para a parte de query do comando
mapReduceedb.collection.mapReduce()método auxiliar ao enviar para uma coleção.Obrigatório para a parte de query do comando
findAndModifye do método auxiliardb.collection.findAndModify().Necessário na coleção de origem para os comandos
cloneCollectionAsCappederenameCollectione o método auxiliardb.collection.renameCollection().Se o usuário não tiver a ação de privilégio
listDatabases, os usuários poderão executar o comandolistDatabasespara retornar uma lista de bases de dados para as quais o usuário tem privilégios (incluindo bancos de dados para as quais o usuário tem privilégios em coleções específicas) se o comando for executado com a opçãoauthorizedDatabasesnão especificada ou definida comotrue.Aplique esta ação aos recursos de banco de dados ou de collection.
insertO usuário pode executar os seguintes comandos e seus métodos equivalentes:
Necessário para a parte de saída do comando
mapReducee do método auxiliardb.collection.mapReduce()ao enviar a saída para uma collection.Necessário para o comando
aggregateedb.collection.aggregate()método auxiliar ao usar o operador de pipeline$outou$merge.Necessário para os comandos
updateefindAndModifye métodos auxiliares equivalentes quando usados com a opçãoupsert.Obrigatório na coleção de destino para os seguintes comandos e seus métodos auxiliares:
Aplique esta ação aos recursos de banco de dados ou de collection.
removeO usuário pode executar o comando
deletee o método de auxiliar equivalente.Necessário para a parte de gravação do comando
findAndModifye do métododb.collection.findAndModify().Necessário para o comando
mapReducee o método auxiliardb.collection.mapReduce()quando você especifica a açãoreplaceao enviar para uma collection.Necessário para o comando
aggregateedb.collection.aggregate()método auxiliar ao usar o operador de pipeline$out.Aplique esta ação aos recursos de banco de dados ou de collection.
updateO usuário pode executar o comando
updatee métodos de auxiliar equivalentes.Necessário para o comando
mapReduceedb.collection.mapReduce()método auxiliar ao enviar para uma collection sem especificar a açãoreplace.Necessário para o comando
findAndModifye método de auxiliar dodb.collection.findAndModify().Aplique esta ação aos recursos de banco de dados ou de collection.
bypassDocumentValidationOs usuários podem ignorar a validação de esquema em comandos e métodos que permitem a opção
bypassDocumentValidation. Os seguintes comandos e seus métodos equivalentes **suportam** a **validação de esquema**:Aplique esta ação aos recursos de banco de dados ou de collection.
useUUIDO usuário pode executar os seguintes comandos utilizando um UUID como se fosse um namespace:
Por exemplo, este privilégio autoriza um usuário a executar o seguinte comando que executa um comando
findem uma coleção com o UUID fornecido. Para ser bem-sucedida, essa operação também exige que o usuário esteja autorizado a executar o comandofindno namespace da coleção correspondente ao UUID fornecido.db.runCommand({find: UUID("123e4567-e89b-12d3-a456-426655440000")}) Para mais informações sobre UUIDs de coleção, consulte Coleções.
Aplique esta ação ao recurso
cluster.
Ações de gerenciamento de banco de dados
changeCustomDataO usuário pode alterar as informações personalizadas de qualquer usuário no banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.
changeOwnCustomDataOs usuários podem alterar suas próprias informações personalizadas. Aplique esta ação aos recursos do banco de dados de dados. Consulte também Alterar sua senha e dados personalizados em sistemas autogerenciados.
changeOwnPasswordOs usuários podem alterar suas próprias senhas. Aplique esta ação aos recursos do banco de dados de dados. Consulte também Alterar sua senha e dados personalizados em sistemas autogerenciados.
changePasswordO usuário pode alterar a senha de qualquer usuário no banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.
createCollectionO usuário pode executar o método
db.createCollection(). Aplique esta ação aos recursos de banco de dados ou de collection.
createIndexFornece acesso ao método
db.collection.createIndex()e o comandocreateIndexes. Aplique esta ação aos recursos de banco de dados ou de coleção.
createRoleO usuário pode criar novos papéis no banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.
createUserO usuário pode criar novos usuários no banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.
dropCollectionO usuário pode executar o método
db.collection.drop(). Aplique esta ação aos recursos de banco de dados ou de collection.
dropRoleO usuário pode excluir qualquer papel do banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.
dropUserO usuário pode remover qualquer usuário do banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.
enableProfilerO usuário pode executar o método
db.setProfilingLevel(). Aplique esta ação aos recursos do banco de dados.
grantRoleO usuário pode conceder qualquer papel no banco de dados a qualquer usuário a partir de qualquer banco de dados no sistema. Aplique esta ação aos recursos do banco de dados.
killCursorsOs usuários sempre podem eliminar seus próprios cursores, independentemente de terem o privilégio
killCursors.
killAnyCursorO usuário pode matar qualquer cursor, até mesmo cursores criados por outros usuários. Aplique esta ação aos recursos de collection.
planCacheIndexFilterO usuário pode executar os comandos
planCacheClearFilters,planCacheListFilterseplanCacheSetFilter. Aplique a açãoplanCacheIndexFilteraos recursos de coleção.
revokeRoleO usuário pode remover qualquer role de qualquer usuário de qualquer banco de dados no sistema. Aplique esta ação aos recursos do banco de dados.
setAuthenticationRestrictionO usuário pode especificar o campo authenticationRestrictions no documento do
userao executar os seguintes comandos:O usuário pode especificar o campo
authenticationRestrictionsno documentoroleao executar os seguintes comandos:Observação
Os seguintes papéis embutidos concedem este privilégio:
O papel do
userAdminfornece este privilégio no banco de dados que o papel é atribuído.O role do
userAdminAnyDatabasefornece este privilégio em todos os bancos de dados.
Transitivamente, os papéis do
restoreeroottambém fornecem este privilégio.Aplique esta ação aos recursos do banco de dados.
setFeatureCompatibilityVersionO usuário pode executar o comando
setFeatureCompatibilityVersion. Aplique esta ação ao recursocluster.
unlockO usuário pode executar o método
db.fsyncUnlock(). Aplique esta ação ao recursocluster.
Ações de gestão de implementação
authSchemaUpgradeO usuário pode executar o comando
authSchemaUpgrade. Aplique esta ação ao recursocluster.
cleanupOrphanedO usuário pode executar o comando
cleanupOrphaned. Aplique esta ação ao recursocluster.
inprogO usuário pode utilizar o método
db.currentOp()para retornar informações sobre operações pendentes e ativas. Aplique esta ação ao recursocluster.Mesmo sem o privilégio
inprog, em instâncias domongod, os usuários podem visualizar suas próprias operações executandodb.currentOp( { "$ownOps": true } ).
invalidateUserCacheFornece acesso ao comando
invalidateUserCache. Aplique esta ação ao recursocluster.
killopO usuário pode executar o método
db.killOp(). Aplique esta ação ao recursocluster.Mesmo sem o privilégio
killop, em instâncias domongod, os usuários podem matar suas próprias operações.
planCacheReadO usuário pode executar as seguintes operações:
$planCacheStatsestágio de agregação.
Aplique esta ação aos recursos de banco de dados ou de collection.
planCacheWriteO usuário pode executar o comando
planCacheCleare os métodosPlanCache.clear()ePlanCache.clearPlansByQuery(). Aplique esta ação ao banco de dados ou recursos de coleta.
Alterar ações de fluxo
changeStreamUsuário com
changeStreamefindna coleção específica, todas as coleções nãosystemem um banco de dados específico ou todas as coleções nãosystemem todos os bancos de dados podem abrir cursor de fluxo de alterações para este recurso.
Ações de replicação
replSetConfigureO usuário pode configurar um conjunto de réplicas. Aplique esta ação ao recurso
cluster.
replSetGetConfigO usuário pode visualizar a configuração de um conjunto de réplicas. Fornece acesso ao comando
replSetGetConfige ao método auxiliarrs.conf().Aplique esta ação ao recurso
cluster.
replSetGetStatusO usuário pode executar o comando
replSetGetStatus. Aplique esta ação ao recursocluster.
replSetHeartbeatO usuário pode executar o comando
replSetHeartbeatdescontinuado. Aplique esta ação ao recursocluster.
replSetStateChangeO usuário pode alterar o estado de uma réplicas definida pelos comandos
replSetFreeze,replSetMaintenance,replSetStepDownereplSetSyncFrom. Aplique esta ação ao recursocluster.
Ações de compartilhamento
addShardO usuário pode executar o comando
addShard. Aplique esta ação ao recursocluster.
analyzeShardKeyO usuário pode executar o
analyzeShardKeycomando. Aplique esta ação aos recursos de banco de dados e collection.Incluído nos roles embutidos do
clusterManagerenableShardinge.
checkMetadataConsistencyO usuário pode executar o comando
checkMetadataConsistency. Aplique esta ação acluster, banco de dados ou recursos de coleção.Novidades na versão 7.0.
clearJumboFlagNecessário para limpar o sinalizador jumbo de um bloco usando o comando
clearJumboFlag. Aplique esta ação aos recursos de banco de dados ou de coleção.Incluído no role embutido do
clusterManager.
enableShardingObservação
Recursos aplicáveis
A ação pode ser aplicada a:
Recurso de banco de dados ou coleção para ativar a fragmentação de um banco de dados ou fragmentar uma coleção.
Recurso de cluster para realizar várias operações na zona de shards.
RecursosDescriçãoConcede privilégios aos usuários para executar as seguintes operações:
Habilitar o compartilhamento em um banco de dados utilizando o comando
enableShardingeFragmentar uma coleção usando o comando
shardCollection.
refineCollectionShardKeyFornece privilégios para refinar a chave de fragmento para uma coleção fragmentada e executar o comando
refineCollectionShardKey. Aplique esta ação aos recursos do banco de dados ou coleção.Incluído no role embutido do
clusterManager.
reshardCollectionO usuário pode executar o comando
reshardCollection. Aplique esta ação aos recursos do banco de dados ou coleção.Novidades na versão 5.0.
flushRouterConfigO usuário pode executar o comando
flushRouterConfig. Aplique esta ação ao recursocluster.
getShardMapO usuário pode executar o comando
getShardMap. Aplique esta ação ao recursocluster.
listShardsO usuário pode executar o comando
listShards. Aplique esta ação ao recursocluster.
moveChunkO usuário pode executar os comandos
moveChunkemoveRange. Além disso, o usuário pode executar o comandomovePrimarydesde que o privilégio seja aplicado a um recurso de banco de dados apropriado. Aplique esta ação aos recursos de banco de dados ou de collection.
removeShardO usuário pode executar o comando
removeShard. Aplique esta ação ao recursocluster.
shardedDataDistributionO usuário pode executar a etapa de pipeline de agregação do
$shardedDataDistribution.Novidades na versão 6.0.3.
shardingStateO usuário pode executar o comando
shardingState. Aplique esta ação ao recursocluster.
Ações de administração do servidor
applicationMessageO usuário pode executar o comando
logApplicationMessage. Aplique esta ação ao recursocluster.
bypassWriteBlockingModeO usuário pode executar gravações mesmo quando as gravações são bloqueadas pelo comando
setUserWriteBlockMode. Aplique esta ação ao recursocluster.
closeAllDatabasesO usuário pode executar o comando
closeAllDatabasesdescontinuado. Aplique esta ação ao recursocluster.
collModO usuário pode executar o comando
collMod. Aplique esta ação ao banco de dados ou recursos de coleta.
compactO usuário pode executar o comando
compact. Aplique esta ação ao banco de dados ou recursos de coleta.
compactStructuredEncryptionDataO usuário pode executar o comando
compactStructuredEncryptionData. Aplique esta ação ao banco de dados ou recursos de coleta.
connPoolSyncO usuário pode executar o comando
connPoolSyncinterno. Aplique esta ação ao recursocluster.
convertToCappedO usuário pode executar o comando
convertToCapped. Aplique esta ação ao banco de dados ou recursos de coleta.
dropConnectionsO usuário pode executar o comando
dropConnections. Aplique esta ação ao recursocluster.
dropDatabaseO usuário pode executar o comando
dropDatabase. Aplique esta ação aos recursos do banco de dados.
dropIndexO usuário pode executar o comando
dropIndexes. Aplique esta ação ao banco de dados ou recursos de coleta.
forceUUIDO usuário pode criar uma coleção com um UUID de coleção definido pelo usuário utilizando o comando
applyOps.Aplique esta ação ao recurso
cluster.
fsyncO usuário pode executar o comando
fsync. Aplique esta ação ao recursocluster.
getDefaultRWConcernO usuário pode emitir o comando administrativo
getDefaultRWConcern. Aplique esta ação ao recursocluster.
getParameterO usuário pode executar o comando
getParameter. Aplique esta ação ao recursocluster.
hostInfoFornece informações sobre o servidor em que a instância MongoDB é executada. Aplique esta ação ao recurso
cluster.
oidResetNecessário para redefinir a string aleatória de 5 bytes que é utilizada no ObjectID.
logRotateO usuário pode executar o comando
logRotate. Aplique esta ação ao recursocluster.
reIndexO usuário pode executar o comando
reIndex. Aplique esta ação ao banco de dados ou recursos de coleta.
renameCollectionSameDBPermite ao usuário renomear collections no banco de dados atual utilizando o comando
renameCollection. Aplique esta ação aos recursos do banco de dados.Além disso, o usuário deve ter
findna coleção de origem ou não terfindna coleção de destino.Se uma coleção com o novo nome já existir, ele também deverá ter a ação
dropCollectionna coleção de destino.
rotateCertificatesO usuário pode executar o comando
rotateCertificatescomando. Aplique esta ação ao recursocluster.
setDefaultRWConcernO usuário pode emitir o comando administrativo
setDefaultRWConcern. Aplique esta ação ao recursocluster.
setParameterO usuário pode executar o comando
setParameter. Aplique esta ação ao recursocluster.
setUserWriteBlockModeO usuário pode executar o comando
setUserWriteBlockMode. Aplique esta ação ao recursocluster.
shutdownO usuário pode executar o comando
shutdown. Aplique esta ação ao recursocluster.
Ações da sessão
impersonateO usuário pode executar o comando
killAllSessionsByPatterncom o padrãouserseroles. Aplique esta ação ao recursocluster.Para executar o comando
killAllSessionsByPattern, os usuários também devem ter privilégios dekillAnySessionno recurso de agrupamento.
listSessionsO usuário pode executar a operação
$listSessionsou$listLocalSessionspara todos os usuários ou usuários especificados. Aplique esta ação ao recursocluster.
killAnySessionO usuário pode executar o comando
killAllSessionsekillAllSessionsByPattern. Aplique esta ação ao recursocluster.Dica
Ações do índice do Atlas Search
As ações a seguir permitem que os usuários executem Atlas Search Database Commands. Essas ações são relevantes apenas para implantações hospedadas no MongoDB Atlas.
createSearchIndexesO usuário pode executar o comando do banco de dados do
createSearchIndexes. Aplique esta ação ao banco de dados ou recurso de collection.
dropSearchIndexO usuário pode executar o comando do banco de dados do
dropSearchIndex. Aplique esta ação ao banco de dados ou recurso de collection.
listSearchIndexesO usuário pode executar o estágio de agregação
$listSearchIndexes. Aplique esta ação ao banco de dados ou recurso de coleta.
updateSearchIndexO usuário pode executar o comando do banco de dados do
updateSearchIndex. Aplique esta ação ao banco de dados ou recurso de collection.
Ações de diagnóstico
collStatsO usuário pode executar o comando
collStats. Aplique esta ação ao banco de dados ou recursos de coleta.
connPoolStatsO usuário pode executar o comando
connPoolStats. Aplique esta ação ao recursocluster.
dbHashO usuário pode executar o comando
dbHash. Aplique esta ação ao banco de dados ou recursos de coleta.
dbStatsO usuário pode executar o comando
dbStats. Aplique esta ação aos recursos do banco de dados.
getCmdLineOptsO usuário pode executar o comando
getCmdLineOpts. Aplique esta ação ao recursocluster.
getLogO usuário pode executar o comando
getLog. Aplique esta ação ao recursocluster.
indexStatsO usuário pode executar o estágio do pipeline de agregação
$indexStats. Aplique esta ação ao banco de dados ou recursos de coleta.Para utilizar a etapa
$indexStats, os usuários devem autenticar com pelo menos o papelclusterMonitor.
listDatabasesO usuário pode executar o comando
listDatabases. Aplique esta ação ao recursocluster.Se o usuário não tiver a ação de privilégio
listDatabases, os usuários poderão executar o comandolistDatabasespara retornar uma lista de bases de dados para as quais o usuário tem privilégios (incluindo bancos de dados para as quais o usuário tem privilégios em coleções específicas) se o comando for executado com a opçãoauthorizedDatabasesnão especificada ou definida comotrue.
listCollectionsO usuário pode executar o comando
listCollections. Aplique esta ação aos recursos do banco de dados.Observação
Usuários sem o privilégio exigido podem executar o comando
listCollectionscom ambas as opçõesauthorizedCollectionsenameOnlydefinidas comotrue. Nesse caso, o comando retorna apenas o nome e o tipo das coleções para as quais o usuário tem privilégios.
listIndexesO usuário pode executar o comando
listIndexes. Aplique esta ação ao banco de dados ou recursos de coleta.
queryStatsReadO usuário pode executar o estágio de agregação
$queryStatssem a opçãotransformIdentifiers.
queryStatsReadTransformedO usuário pode executar o estágio de agregação do
$queryStatscom ou sem a opçãotransformIdentifiers.
serverStatusO usuário pode executar o comando
serverStatus. Aplique esta ação ao recursocluster.
validateO usuário pode executar os comandos
validateevalidateDBMetadata. Aplique esta ação ao banco de dados ou recursos de coleta.
topO usuário pode executar o comando
top. Aplique esta ação ao recursocluster.
Ações internas
anyActionPermite qualquer ação em um recurso. Não atribua esta ação a menos que seja absolutamente necessária.
applyOpsO usuário pode executar o comando
applyOps. Aplique esta ação a um recursocluster.