Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ /

Ações de privilégio para sistemas autogerenciados

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 de diagnóstico
  • Ações internas

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 de ações concedidas, consulte Roles integrados em implementações autogerenciadas. 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, os usuários poderão 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 coleções específicas) se o comando for 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

Novo na versão 3.2.

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

Novidade na versão 3.6.

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 em sistemas autogerenciados.

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 em sistemas autogerenciados.

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

Os usuários sempre podem eliminar seus próprios cursores, independentemente de terem o privilégio killCursors.

killAnyCursor

Novidades na versão 3.6.3.

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 coleção.

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

Novidade na versão 3.6.

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 .

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.

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

O usuário pode executar o comando storageDetails descontinuado. Aplique esta ação aos recursos de banco de dados ou de coleção.

changeStream

Usuário com changeStream e find na coleção específica, todas as coleções não system em um banco de dados específico ou todas as coleções não system em todos os bancos de dados podem abrir cursor de fluxo de alterações para este 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.

clearJumboFlag

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.

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 fragmento se tiver ações find/update nas coleções 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.

listShards

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

moveChunk

O usuário pode executar o comando moveChunk . 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 do banco de dados ou coleção.

removeShard

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

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.

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.

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

Novidade na versão 3.6.

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, ele 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.

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

Novidade na versão 3.6.

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 de killAnySession no recurso de agrupamento.

listSessions

Novidade na versão 3.6.

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

Novidade na versão 3.6.

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

Dica

Veja também:

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, os usuários poderão executar o comando listDatabases para 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çã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

Usuários sem o privilégio exigido podem executar o comando listCollections com ambas as opções authorizedCollections e nameOnly configuradas para 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.

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 .

Voltar

Documento de Recurso

Próximo

Criar um relatório de vulnerabilidade