Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Ações privilegiadas

Nesta página

  • Ações de query e gravação
  • Ações de gerenciamento de banco de dados
  • Ações de gestão de implementação
  • Alterar ações de fluxo
  • Ações de replicação
  • Ações de compartilhamento
  • Ações de administração do servidor
  • Ações da sessão
  • Ações do índice do Atlas Search
  • Ações de diagnóstico
  • Ações internas

As ações de privilégios definem as operações que um usuário pode executar em um recurso. 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 de ações concedidas, consulte Roles integrados. Para definir funções personalizadas, consulte Criar um role definido pelo usuário.

find

O usuário pode executar os seguintes comandos e seus métodos de ajuda equivalentes:

Necessário para a parte de query do comando mapReduce e db.collection.mapReduce() método auxiliar ao enviar para uma coleção.

Obrigatório para a parte de query do comando findAndModify e do método auxiliar db.collection.findAndModify().

Necessário na coleção de origem para os comandos cloneCollectionAsCapped e renameCollection e o método auxiliar db.collection.renameCollection().

Se o usuário não tiver a ação de privilégio listDatabases , poderá executar o comando listDatabases para retornar uma lista de bancos de dados para os quais o usuário tem privilégios (incluindo bancos de dados para os quais o usuário tem privilégios em collections específicas) se o comando é executado com a opção authorizedDatabases não especificada ou definida como true.

Aplique esta ação aos recursos de banco de dados ou de collection.

insert

O usuário pode executar os seguintes comandos e seus métodos equivalentes:

Necessário para a parte de saída do comando mapReduce e do método auxiliar db.collection.mapReduce() ao enviar a saída para uma collection.

Necessário para o comando aggregate e db.collection.aggregate() método auxiliar ao usar o operador de pipeline$out ou $merge.

Necessário para os comandos update e findAndModify e métodos auxiliares equivalentes quando usados com a opção upsert.

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.

remove

O usuário pode executar o comando delete e o método de auxiliar equivalente.

Necessário para a parte de gravação do comando findAndModify e do método db.collection.findAndModify().

Necessário para o comando mapReduce e o método auxiliar db.collection.mapReduce() quando você especifica a ação replace ao enviar para uma collection.

Necessário para o comando aggregate e db.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.

update

O usuário pode executar o comando update e métodos de auxiliar equivalentes.

Necessário para o comando mapReduce e db.collection.mapReduce() método auxiliar ao enviar para uma collection sem especificar a ação replace.

Necessário para o comando findAndModify e método de auxiliar do db.collection.findAndModify().

Aplique esta ação aos recursos de banco de dados ou de collection.

bypassDocumentValidation

Os usuários podem ignorar a validação do documento em comandos e métodos que permitem a opção bypassDocumentValidation. Os seguintes comandos e seus métodos equivalentes permitem ignorar a validação do documento:

Aplique esta ação aos recursos de banco de dados ou de collection.

useUUID

O 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 find em 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 comando find no 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.

changeCustomData

O 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.

changeOwnCustomData

Os usuários podem alterar suas próprias informações personalizadas. Aplique esta ação aos recursos do banco de dados. Consulte também Alterar sua senha e dados personalizados.

changeOwnPassword

Os usuários podem alterar suas próprias senhas. Aplique esta ação aos recursos do banco de dados. Consulte também Alterar sua senha e dados personalizados.

changePassword

O 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.

createCollection

O usuário pode executar o método db.createCollection(). Aplique esta ação aos recursos de banco de dados ou de collection.

createIndex

Fornece acesso ao método db.collection.createIndex() e o comando createIndexes. Aplique esta ação aos recursos de banco de dados ou de coleção.

createRole

O usuário pode criar novos papéis no banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.

createUser

O usuário pode criar novos usuários no banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.

dropCollection

O usuário pode executar o método db.collection.drop(). Aplique esta ação aos recursos de banco de dados ou de collection.

dropRole

O usuário pode excluir qualquer papel do banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.

dropUser

O usuário pode remover qualquer usuário do banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.

enableProfiler

O usuário pode executar o método db.setProfilingLevel(). Aplique esta ação aos recursos do banco de dados.

grantRole

O 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.

killCursors

A partir do MongoDB 4.2, os usuários sempre podem eliminar seus próprios cursores, independentemente de terem o privilégio de killCursors. Como tal, o privilégio do killCursors não tem efeito no MongoDB 4.2+.

No MongoDB 3.6.3 até MongoDB 4.0.x, os usuários exigem killCursors privilégio para matar seus próprios curadores quando o controle de acesso está habilitado. Os cursores estão associados aos usuários no momento da criação do cursor. Aplique esta ação aos recursos de coleta.

killAnyCursor

O usuário pode matar qualquer cursor, até mesmo cursores criados por outros usuários. Aplique esta ação aos recursos de collection.

planCacheIndexFilter

O usuário pode executar os comandos planCacheClearFilters, planCacheListFilters e planCacheSetFilter . Aplique a ação planCacheIndexFilter aos recursos de collection.

revokeRole

O 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.

setAuthenticationRestriction

O usuário pode especificar o campo authenticationRestrictions no documento do user ao executar os seguintes comandos:

O usuário pode especificar o campo authenticationRestrictions no documento role ao executar os seguintes comandos:

Observação

Os seguintes papéis embutidos concedem este privilégio:

  • O papel do userAdmin fornece este privilégio no banco de dados que o papel é atribuído.

  • O role do userAdminAnyDatabase fornece este privilégio em todos os bancos de dados.

Transitivamente, os papéis do restore e root também fornecem este privilégio.

Aplique esta ação aos recursos do banco de dados.

setFeatureCompatibilityVersion

O usuário pode executar o comando setFeatureCompatibilityVersion. Aplique esta ação ao recurso cluster.

unlock

O usuário pode executar o método db.fsyncUnlock(). Aplique esta ação ao recurso cluster.

viewRole

O usuário pode visualizar informações sobre qualquer papel no banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.

viewUser

O usuário pode visualizar as informações de qualquer usuário no banco de dados fornecido. Aplique esta ação aos recursos do banco de dados.

authSchemaUpgrade

O usuário pode executar o comando authSchemaUpgrade. Aplique esta ação ao recurso cluster.

cleanupOrphaned

O usuário pode executar o comando cleanupOrphaned. Aplique esta ação ao recurso cluster.

cpuProfiler

O usuário pode habilitar e usar o perfil da CPU. Aplique esta ação ao recurso cluster.

inprog

O usuário pode utilizar o método db.currentOp() para retornar informações sobre operações pendentes e ativas. Aplique esta ação ao recurso cluster .

Alterado na versão 3.2.9: Mesmo sem o privilégio inprog, nas instâncias mongod, os usuários podem visualizar suas próprias operações executando db.currentOp( { "$ownOps": true } ).

invalidateUserCache

Fornece acesso ao comando invalidateUserCache. Aplique esta ação ao recurso cluster.

killop

O usuário pode executar o método db.killOp(). Aplique esta ação ao recurso cluster.

Alterado na versão 3,2,9: Mesmo sem o privilégio do killop, em instâncias do mongod, os usuários podem matar suas próprias operações.

planCacheRead

O usuário pode executar as seguintes operações:

Aplique esta ação aos recursos de banco de dados ou de collection.

planCacheWrite

O usuário pode executar o comando planCacheClear e os métodos PlanCache.clear() e PlanCache.clearPlansByQuery(). Aplique esta ação ao banco de dados ou recursos de coleta.

storageDetails

Descontinuado em 7,0: A ação storageDetails foi removida do banco de dados.

changeStream

O usuário com changeStream e find na coleção específica, todas as coleções nãosystem em um banco de dados específico ou todas as coleções nãosystem em todos os bancos de dados podem abrir alterar cursor de fluxo para esse recurso.

appendOplogNote

O usuário pode anexar anotações ao oplog. Aplique esta ação ao recurso cluster.

replSetConfigure

O usuário pode configurar um conjunto de réplicas. Aplique esta ação ao recurso cluster.

replSetGetConfig

O usuário pode visualizar a configuração de um conjunto de réplicas. Fornece acesso ao comando replSetGetConfig e ao método auxiliar rs.conf().

Aplique esta ação ao recurso cluster.

replSetGetStatus

O usuário pode executar o comando replSetGetStatus. Aplique esta ação ao recurso cluster.

replSetHeartbeat

O usuário pode executar o comando replSetHeartbeat descontinuado. Aplique esta ação ao recurso cluster.

replSetStateChange

O usuário pode alterar o estado de uma réplicas definida pelos comandos replSetFreeze, replSetMaintenance, replSetStepDown e replSetSyncFrom. Aplique esta ação ao recurso cluster.

resync

O usuário pode executar o comando resync descontinuado. Aplique esta ação ao recurso cluster.

addShard

O usuário pode executar o comando addShard. Aplique esta ação ao recurso cluster.

checkMetadataConsistency

O usuário pode executar o comando checkMetadataConsistency. Aplique esta ação a cluster, banco de dados ou recursos de coleção.

Novidades na versão 7,0.

clearJumboFlag

Disponível a partir das versões 4.2.3 e 4.0.15

Necessá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.

enableSharding

Observaçã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.

Recursos
Descrição

Concede privilégios aos usuários para executar as seguintes operações:

  • Habilitar o compartilhamento em um banco de dados utilizando o comando enableSharding e

  • Fragmentar uma coleção usando o comando shardCollection.

A partir da versão 4.2.2, 4.0.14, 3.6.16

Concede privilégios aos usuários para executar as seguintes operações da zona de fragmentação:

Você também pode executar essas operações de zona de shard se tiver find/update ações nas collections apropriadas no banco de dados config . Consulte as operações específicas para obter detalhes.

refineCollectionShardKey

Fornece 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.

reshardCollection

O 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.

flushRouterConfig

O usuário pode executar o comando flushRouterConfig. Aplique esta ação ao recurso cluster.

getShardMap

O usuário pode executar o comando getShardMap. Aplique esta ação ao recurso cluster.

getShardVersion

O usuário pode executar o comando getShardVersion. Aplique esta ação aos recursos do banco de dados.

listShards

O usuário pode executar o comando listShards. Aplique esta ação ao recurso cluster.

moveChunk

O usuário pode executar os comandos moveChunk e moveRange. Além disso, o usuário pode executar o comando movePrimary desde 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.

removeShard

O usuário pode executar o comando removeShard. Aplique esta ação ao recurso cluster.

shardedDataDistribution

O usuário pode executar a etapa de pipeline de agregação do $shardedDataDistribution.

Novidades na versão 6.0.3.

shardingState

O usuário pode executar o comando shardingState. Aplique esta ação ao recurso cluster.

splitVector

O usuário pode executar o comando splitVector. Aplique esta ação ao banco de dados ou recursos de coleta.

applicationMessage

O usuário pode executar o comando logApplicationMessage. Aplique esta ação ao recurso cluster.

bypassWriteBlockingMode

O usuário pode executar gravações mesmo quando as gravações são bloqueadas pelo comando setUserWriteBlockMode. Aplique esta ação ao recurso cluster .

closeAllDatabases

O usuário pode executar o comando closeAllDatabases descontinuado. Aplique esta ação ao recurso cluster.

collMod

O usuário pode executar o comando collMod. Aplique esta ação ao banco de dados ou recursos de coleta.

compact

O usuário pode executar o comando compact. Aplique esta ação ao banco de dados ou recursos de coleta.

compactStructuredEncryptionData

O usuário pode executar o comando compactStructuredEncryptionData. Aplique esta ação ao banco de dados ou recursos de coleta.

connPoolSync

O usuário pode executar o comando connPoolSync interno. Aplique esta ação ao recurso cluster.

convertToCapped

O usuário pode executar o comando convertToCapped. Aplique esta ação ao banco de dados ou recursos de coleta.

dropConnections

O usuário pode executar o comando dropConnections. Aplique esta ação ao recurso cluster.

dropDatabase

O usuário pode executar o comando dropDatabase. Aplique esta ação aos recursos do banco de dados.

dropIndex

O usuário pode executar o comando dropIndexes. Aplique esta ação ao banco de dados ou recursos de coleta.

forceUUID

O 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.

fsync

O usuário pode executar o comando fsync. Aplique esta ação ao recurso cluster.

getDefaultRWConcern

O usuário pode emitir o comando administrativo getDefaultRWConcern. Aplique esta ação ao recurso cluster.

getParameter

O usuário pode executar o comando getParameter. Aplique esta ação ao recurso cluster.

hostInfo

Fornece informações sobre o servidor em que a instância MongoDB é executada. Aplique esta ação ao recurso cluster.

oidReset

Necessário para redefinir a string aleatória de 5 bytes que é utilizada no ObjectID.

logRotate

O usuário pode executar o comando logRotate. Aplique esta ação ao recurso cluster.

reIndex

O usuário pode executar o comando reIndex. Aplique esta ação ao banco de dados ou recursos de coleta.

renameCollectionSameDB

Permite 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 find na coleção de origem ou não ter find na coleção de destino.

Se uma coleção com o novo nome já existir, o usuário também deverá ter a ação dropCollection na coleção de destino.

rotateCertificates

O usuário pode executar o comando rotateCertificates comando. Aplique esta ação ao recurso cluster .

setDefaultRWConcern

O usuário pode emitir o comando administrativo setDefaultRWConcern. Aplique esta ação ao recurso cluster.

setParameter

O usuário pode executar o comando setParameter. Aplique esta ação ao recurso cluster.

setUserWriteBlockMode

O usuário pode executar o comando setUserWriteBlockMode. Aplique esta ação ao recurso cluster.

shutdown

O usuário pode executar o comando shutdown. Aplique esta ação ao recurso cluster.

touch

O usuário pode executar o comando touch descontinuado. Aplique esta ação ao recurso cluster.

impersonate

O usuário pode executar o comando killAllSessionsByPattern com o padrão users e roles . Aplique esta ação ao recurso cluster .

Para executar o comando killAllSessionsByPattern , os usuários também devem ter privilégios do killAnySession no recurso de agrupamento.

listSessions

O usuário pode executar a operação $listSessions ou $listLocalSessions para todos os usuários ou usuários especificados. Aplique esta ação ao recurso cluster.

killAnySession

O usuário pode executar o comando killAllSessions e killAllSessionsByPattern. Aplique esta ação ao recurso cluster .

Dica

Veja também:

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.

createSearchIndexes

O usuário pode executar o comando do banco de dados do createSearchIndexes. Aplique esta ação ao banco de dados ou recurso de collection.

dropSearchIndex

O usuário pode executar o comando do banco de dados do dropSearchIndex. Aplique esta ação ao banco de dados ou recurso de collection.

listSearchIndexes

O usuário pode executar o estágio de agregação $listSearchIndexes. Aplique esta ação ao banco de dados ou recurso de coleta.

updateSearchIndex

O usuário pode executar o comando do banco de dados do updateSearchIndex. Aplique esta ação ao banco de dados ou recurso de collection.

collStats

O usuário pode executar o comando collStats. Aplique esta ação ao banco de dados ou recursos de coleta.

connPoolStats

O usuário pode executar o comando connPoolStats. Aplique esta ação ao recurso cluster.

dbHash

O usuário pode executar o comando dbHash. Aplique esta ação ao banco de dados ou recursos de coleta.

dbStats

O usuário pode executar o comando dbStats. Aplique esta ação aos recursos do banco de dados.

getCmdLineOpts

O usuário pode executar o comando getCmdLineOpts. Aplique esta ação ao recurso cluster.

getLog

O usuário pode executar o comando getLog. Aplique esta ação ao recurso cluster.

indexStats

O 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 papel clusterMonitor.

listDatabases

O usuário pode executar o comando listDatabases. Aplique esta ação ao recurso cluster.

Se o usuário não tiver a ação de privilégio listDatabases , poderá executar o comando listDatabases para retornar uma lista de bancos de dados para os quais o usuário tem privilégios (incluindo bancos de dados para os quais o usuário tem privilégios em collections específicas) se o comando for executar com a opção authorizedDatabases não especificada ou definida como true.

listCollections

O usuário pode executar o comando listCollections. Aplique esta ação aos recursos do banco de dados.

Observação

A partir da versão 4.0, o usuário sem o privilégio necessário pode executar o comando listCollections com ambas as opções authorizedCollections e nameOnly definidas como true. Nesse caso, o comando retorna apenas o nome e o tipo das collections para as quais o usuário tem privilégios.

listIndexes

O usuário pode executar o comando listIndexes. Aplique esta ação ao banco de dados ou recursos de coleta.

netstat

O usuário pode executar o comando netstat. Aplique esta ação ao recurso cluster.

queryStatsRead

O usuário pode executar o estágio de agregação $queryStats sem a opção transformIdentifiers .

queryStatsReadTransformed

O usuário pode executar o estágio de agregação do $queryStats com ou sem a opção transformIdentifiers .

serverStatus

O usuário pode executar o comando serverStatus. Aplique esta ação ao recurso cluster.

validate

O usuário pode executar os comandos validate e validateDBMetadata. Aplique esta ação ao banco de dados ou recursos de coleta.

top

O usuário pode executar o comando top. Aplique esta ação ao recurso cluster.

anyAction

Permite qualquer ação em um recurso. Não atribua esta ação a menos que seja absolutamente necessária.

internal

Permite ações internas. Não atribua esta ação a menos que seja absolutamente necessária.

applyOps

O usuário pode executar o comando applyOps. Aplique esta ação a um recurso cluster .

← Documento de Recurso