Docs Menu
Docs Home
/ /

Acciones de privilegio

Las acciones de privilegio definen las operaciones que un usuario puede realizar en un Recurso. Un privilegio de MongoDB comprende un recurso y las acciones permitidas. Esta página enumera las acciones disponibles, agrupadas por propósito común.

MongoDB proporciona roles incorporados con combinaciones predefinidas de recursos y acciones permitidas. Para ver las listas de las acciones concedidas, consulte:

Para definir roles personalizados, consulte:

  • Crea un rol definido por el usuario en las implementaciones autogestionada.

  • Crear roles definidos por el usuario en Atlas.

find

El usuario puede ejecutar los siguientes comandos y sus métodos asistentes equivalentes:

Requerido para la parte del query del comando mapReduce y del método asistente db.collection.mapReduce() al generar salidas a una colección.

Requerido para la parte de la query del comando findAndModify y del método asistente db.collection.findAndModify().

Requerido en la colección de origen para los comandos cloneCollectionAsCapped y renameCollection y el método asistente db.collection.renameCollection().

Si el usuario no tiene la acción de privilegio listDatabases, los usuarios pueden ejecutar el comando listDatabases para devolver una lista de bases de datos para las cuales el usuario tiene privilegios (incluyendo bases de datos para las cuales el usuario tiene privilegios en colecciones específicas) si el comando se ejecuta con la opción authorizedDatabases no especificada o establecida en true.

Aplicar esta acción a los recursos de base de datos o colección.

insert

El usuario puede realizar los siguientes comandos y sus métodos equivalentes:

Requerido para la parte de salida del comando mapReduce y del método asistente db.collection.mapReduce() al generar salidas a una colección.

Requerido para el comando aggregate y el método asistente db.collection.aggregate() al utilizar el operador de pipeline $out o $merge.

Requerido para los comandos update y findAndModify y los métodos asistentes equivalentes cuando se utilizan con la opción upsert.

Requerido en la colección de destino para los siguientes comandos y sus métodos asistentes:

Aplicar esta acción a los recursos de base de datos o colección.

remove

El usuario puede ejecutar el comando delete y el método asistente equivalente.

Requerido para la parte de guardado del comando findAndModify y del método db.collection.findAndModify().

Requerido para el comando mapReduce y el método asistente db.collection.mapReduce() cuando se especifica la acción replace al generar una salida a una colección.

Requerido para el comando aggregate y el método asistente db.collection.aggregate() al utilizar el operador de pipeline $out.

Aplicar esta acción a los recursos de base de datos o colección.

update

El usuario puede ejecutar el comando update y los métodos asistentes equivalentes.

Requerido para el comando mapReduce y el método asistente db.collection.mapReduce() al generar salidas a una colección sin especificar la acción replace.

Requerido para el comando findAndModify y el método asistente db.collection.findAndModify().

Aplicar esta acción a los recursos de base de datos o colección.

bypassDocumentValidation

Los usuarios pueden omitir la validación de esquema en los comandos y métodos compatibles con la opción bypassDocumentValidation. Los siguientes comandos y sus métodos equivalentes permiten omitir la validación de esquema:

Aplicar esta acción a los recursos de base de datos o colección.

useUUID

El usuario puede ejecutar los siguientes comandos usando un UUID como si fuera un espacio de nombres:

Por ejemplo, este privilegio autoriza a un usuario a ejecutar el siguiente comando, el cual ejecuta un comando find en una colección con el UUID dado. Para que sea exitosa, esta operación también requiere que el usuario esté autorizado para ejecutar el comando find en el namespace de la colección correspondiente al UUID dado.

db.runCommand({find: UUID("123e4567-e89b-12d3-a456-426655440000")})

Para obtener más información sobre los UUID de colecciones, consulte las Colecciones.

Aplica esta acción al recurso cluster.

changeCustomData

El usuario puede cambiar la información personalizada de cualquier usuario en la base de datos proporcionada. Aplica esta acción a los recursos de bases de datos.

changeOwnCustomData

Los usuarios pueden cambiar su propia información personalizada. Se debe aplicar esta acción a los recursos de la base de datos. Se debe consultar también Cambiar la contraseña y los datos personalizados en implementaciones autogestionadas.

changeOwnPassword

Los usuarios pueden cambiar sus propias contraseñas. Se debe aplicar esta acción a los recursos de la base de datos. Se debe consultar también Cambiar la contraseña y los datos personalizados en implementaciones autogestionadas.

changePassword

El usuario puede cambiar la contraseña de cualquier usuario en la base de datos proporcionada. Aplica esta acción a los recursos de bases de datos.

createCollection

El usuario puede ejecutar el método db.createCollection(). Aplica esta acción a los recursos de base de datos o colección.

createIndex

Proporciona acceso al método db.collection.createIndex() y al comando createIndexes. Aplicar esta acción a los recursos de base de datos o colección.

createRole

El usuario puede crear nuevos roles en la base de datos proporcionada. Aplique esta acción a los recursos de bases de datos.

createUser

El usuario puede crear nuevos usuarios en la base de datos proporcionada. Aplica esta acción a los recursos de bases de datos.

dropCollection

El usuario puede ejecutar el método db.collection.drop(). Aplica esta acción a los recursos de base de datos o colección.

dropRole

El usuario puede borrar cualquier rol de la base de datos proporcionada. Aplique esta acción a los recursos de bases de datos.

dropUser

El usuario puede borrar cualquier rol de la base de datos proporcionada. Aplica esta acción a los recursos de bases de datos.

enableProfiler

El usuario puede ejecutar el método db.setProfilingLevel(). Aplica esta acción a los recursos de base de datos.

grantRole

El usuario puede otorgar cualquier rol en la base de datos a cualquier usuario de cualquier base de datos del sistema. Aplique esta acción a los recursos de base de datos.

killCursors

Los usuarios siempre pueden terminar sus propios cursores, independientemente de si los usuarios tienen el privilegio para killCursors.

killAnyCursor

El usuario puede eliminar cualquier cursor, incluso los cursores creados por otros usuarios. Aplica esta acción a los recursos de la colección.

planCacheIndexFilter

El usuario puede ejecutar los comandos planCacheClearFilters, planCacheListFilters y planCacheSetFilter. Aplique la acción planCacheIndexFilter a los recursos de la colección.

revokeRole

El usuario puede remover cualquier rol de cualquier usuario de cualquier base de datos del sistema. Aplica esta acción a los recursos de base de datos.

setAuthenticationRestriction

El usuario puede especificar el campo authenticationRestrictions en el documento user al ejecutar los siguientes comandos:

El usuario puede especificar el campo authenticationRestrictions en el documento role al ejecutar los siguientes comandos:

Nota

Los siguientes roles integrados otorgan este privilegio:

  • El rol userAdmin otorga este privilegio en la base de datos a la que se le asigna el rol.

  • El rol userAdminAnyDatabase proporciona este privilegio en todas las bases de datos.

De manera transitiva, los roles restore y root también otorgan este privilegio.

Aplique esta acción a los recursos de base de datos.

setFeatureCompatibilityVersion

El usuario puede ejecutar el comando setFeatureCompatibilityVersion. Aplica esta acción al recurso del cluster.

unlock

El usuario puede realizar el método db.fsyncUnlock(). Aplique esta acción al recurso cluster.

viewRole

El usuario puede ver información sobre cualquier rol en la base de datos proporcionada. Aplica esta acción a los recursos de base de datos.

viewUser

El usuario puede ver la información sobre cualquier rol en la base de datos proporcionada. Aplica esta acción a los recursos de base de datos.

authSchemaUpgrade

El usuario puede ejecutar el comando authSchemaUpgrade. Aplica esta acción al recurso cluster.

cleanupOrphaned

El usuario puede ejecutar el comando cleanupOrphaned. Aplica esta acción al recurso del cluster.

cpuProfiler

El usuario puede habilitar y utilizar el perfilador de CPU. Aplica esta acción al recurso del cluster.

inprog

El usuario puede usar el método db.currentOp() para obtener información sobre operaciones pendientes y activas. Aplique esta acción al recurso cluster.

Incluso sin el privilegio inprog, en instancias de mongod, los usuarios pueden ver sus propias operaciones al ejecutar db.currentOp( { "$ownOps": true } ).

invalidateUserCache

Proporciona acceso al comando invalidateUserCache. Aplica esta acción al recurso cluster.

killop

El usuario puede realizar el método db.killOp(). Aplique esta acción al recurso cluster.

Incluso sin el privilegio killop, en instancias de mongod, los usuarios pueden finalizar sus propias operaciones.

planCacheRead

El usuario puede ejecutar las siguientes operaciones:

Aplicar esta acción a los recursos de base de datos o colección.

planCacheWrite

El usuario puede ejecutar el comando planCacheClear y los métodos PlanCache.clear() y PlanCache.clearPlansByQuery(). Aplica esta acción a los recursos de base de datos o de colección.

storageDetails

Obsoleto en 7.0: La acción storageDetails ha sido eliminada de la base de datos.

changeStream

El usuario con changeStream y find en la colección específica, todas las colecciones que no seansystem en una base de datos específica, o todas las colecciones que no seansystem en todas las bases de datos pueden abrir un cursor de flujo de cambios para ese recurso.

appendOplogNote

El usuario puede añadir notas al oplog. Aplica esta acción al recurso del cluster.

replSetConfigure

El usuario puede configurar un set de réplicas. Aplica esta acción al recurso del cluster.

replSetGetConfig

El usuario puede ver la configuración de un Set de réplicas. Proporciona acceso al comando replSetGetConfig y al método asistente rs.conf().

Aplica esta acción al recurso cluster.

replSetGetStatus

El usuario puede ejecutar el comando replSetGetStatus. Aplica esta acción al recurso del cluster.

replSetHeartbeat

El usuario puede ejecutar el comando replSetHeartbeat en desuso. Aplica esta acción al recurso cluster.

replSetStateChange

El usuario puede cambiar el estado de un set de réplicas mediante los comandos replSetFreeze, replSetMaintenance, replSetStepDown y replSetSyncFrom. Aplique esta acción al recurso cluster.

resync

El usuario puede ejecutar el comando resync en desuso. Aplica esta acción al recurso cluster.

addShard

El usuario puede ejecutar el comando addShard. Aplica esta acción al recurso del cluster.

analyzeShardKey

El usuario puede ejecutar el comando analyzeShardKey. Aplica esta acción a los recursos de la base de datos y de la colección.

Incluido en los clusterManager y enableSharding roles incorporados.

checkMetadataConsistency

El usuario puede ejecutar el comando checkMetadataConsistency. Aplica esta acción a los recursos de cluster, base de datos o colección.

Nuevo en la versión 7.0.

clearJumboFlag

Es necesario borrar la bandera jumbo de un fragmento utilizando el comando clearJumboFlag. Aplica esta acción a los recursos de base de datos o colección.

Incluido en el rol incorporado clusterManager.

enableSharding

Nota

Recursos pertinentes

La acción puede aplicarse a cualquiera de:

  • Base de datos o colección como recurso para activar la partición de una base de datos o particionar una colección.

  • Recurso de clúster para realizar diversas operaciones en zonas de fragmentos.

Recursos
Descripción

Otorga a los usuarios privilegios para realizar las siguientes operaciones:

Otorga a los usuarios privilegios para realizar las siguientes operaciones en la zona de partición:

También puedes realizar estas operaciones de zona de particiones si tienes find/update acciones en las colecciones apropiadas en la base de datos config. Consulta las operaciones específicas para obtener detalles.

refineCollectionShardKey

Otorga privilegios para refinar la clave de fragmentación de una colección fragmentada y ejecutar el comando refineCollectionShardKey. Aplica esta acción a los recursos de base de datos o colección.

Incluido en el rol incorporado clusterManager.

reshardCollection

El usuario puede ejecutar el comando reshardCollection. Aplica esta acción a los recursos de bases de datos o colecciones.

Nuevo en la versión 5.0.

flushRouterConfig

El usuario puede ejecutar el comando flushRouterConfig. Aplica esta acción al recurso del cluster.

getClusterParameter

El usuario puede ejecutar el comando getClusterParameter. Aplica esta acción al recurso del cluster.

Novedades en la versión 6.0.

getShardMap

El usuario puede ejecutar el comando getShardMap. Aplica esta acción al recurso del cluster.

listShards

El usuario puede ejecutar el comando listShards. Aplica esta acción al recurso del cluster.

moveChunk

El usuario puede ejecutar los comandos moveChunk y moveRange . Además, el usuario puede ejecutar el comando movePrimary siempre que el privilegio se aplique a un recurso de base de datos adecuado. Aplica esta acción a los recursos de bases de datos o colecciones.

removeShard

El usuario puede ejecutar el comando removeShard. Aplica esta acción al recurso del cluster.

shardedDataDistribution

El usuario puede realizar la etapa de la canalización de agregación $shardedDataDistribution.

Nuevo en la versión 6.0.3.

shardingState

El usuario puede ejecutar el comando shardingState. Aplica esta acción al recurso del cluster.

splitChunk

El usuario puede ejecutar el comando split. Aplica esta acción al recurso del cluster.

applicationMessage

El usuario puede ejecutar el comando logApplicationMessage. Aplica esta acción al recurso del cluster.

bypassWriteBlockingMode

El usuario puede realizar guardados incluso cuando están bloqueados por el comando setUserWriteBlockMode. Aplica esta acción al recurso cluster .

closeAllDatabases

El usuario puede ejecutar el comando closeAllDatabases en desuso. Aplica esta acción al recurso cluster.

collMod

El usuario puede ejecutar el comando collMod. Aplica esta acción a los recursos de bases de datos o colecciones.

compact

El usuario puede ejecutar el comando compact. Aplica esta acción a los recursos de bases de datos o colecciones.

compactStructuredEncryptionData

El usuario puede ejecutar el comando compactStructuredEncryptionData. Aplica esta acción a los recursos de bases de datos o colecciones.

connPoolSync

El usuario puede ejecutar el comando interno connPoolSync. Aplica esta acción al recurso del cluster.

convertToCapped

El usuario puede ejecutar el comando convertToCapped. Aplica esta acción a los recursos de bases de datos o colecciones.

dropConnections

El usuario puede ejecutar el comando dropConnections. Aplica esta acción al recurso del cluster.

dropDatabase

El usuario puede ejecutar el comando dropDatabase. Aplica esta acción a los recursos de bases de datos.

dropIndex

El usuario puede ejecutar el comando dropIndexes. Aplica esta acción a los recursos de bases de datos o colecciones.

forceUUID

El usuario puede crear una colección con un UUID de colección definido por el usuario utilizando el comando applyOps.

Aplica esta acción al recurso cluster.

fsync

El usuario puede ejecutar el comando fsync. Aplica esta acción al recurso del cluster.

getDefaultRWConcern

El usuario puede emitir el comando administrativo getDefaultRWConcern. Aplique esta acción al recurso cluster.

getParameter

El usuario puede ejecutar el comando getParameter. Aplica esta acción al recurso del cluster.

hostInfo

Proporciona información sobre el servidor en el que se ejecuta la instancia de MongoDB. Aplica esta acción al recurso cluster.

oidReset

Es necesario restablecer el string aleatorio de 5 bytes que se utiliza en el ObjectID.

logRotate

El usuario puede ejecutar el comando logRotate. Aplica esta acción al recurso del cluster.

reIndex

El usuario puede ejecutar el comando reIndex. Aplica esta acción a los recursos de bases de datos o colecciones.

renameCollectionSameDB

Permite al usuario renombrar colecciones en la base de datos actual utilizando el comando renameCollection. Aplica esta acción a los recursos de bases de datos.

Además, el usuario debe tener find en la colección de origen o no tener find en la colección de destino.

Si ya existe una colección con el nuevo nombre, el usuario también debe tener la acción dropCollection en la colección de destino.

rotateCertificates

El usuario puede ejecutar el comando rotateCertificates command. Aplica esta acción al recurso cluster.

setDefaultRWConcern

El usuario puede emitir el comando administrativo setDefaultRWConcern. Aplique esta acción al recurso cluster.

setParameter

El usuario puede ejecutar el comando setParameter. Aplica esta acción al recurso del cluster.

setUserWriteBlockMode

El usuario puede ejecutar el comando setUserWriteBlockMode. Aplica esta acción al recurso del cluster.

shutdown

El usuario puede ejecutar el comando shutdown. Aplica esta acción al recurso del cluster.

touch

El usuario puede ejecutar el comando touch en desuso. Aplica esta acción al recurso cluster.

impersonate

El usuario puede ejecutar el comando killAllSessionsByPattern con el patrón users y roles. Aplica esta acción al recurso del cluster.

Para ejecutar el comando killAllSessionsByPattern, los usuarios también deben tener privilegios de killAnySession en el recurso del clúster.

listSessions

El usuario puede realizar la operación $listSessions o la operación $listLocalSessions para todos los usuarios o para usuarios específicos. Aplica esta acción al recurso cluster .

killAnySession

El usuario puede ejecutar los comandos killAllSessions y killAllSessionsByPattern. Aplica esta acción al recurso cluster.

Tip

Las siguientes acciones permiten a los usuarios ejecutar comandos de búsqueda de bases de datos de Atlas. Estas acciones solo son relevantes para implementaciones alojadas en MongoDB Atlas.

createSearchIndexes

El usuario puede ejecutar el createSearchIndexes comando de base de datos. Aplique esta acción a la base de datos o al recurso de colección.

dropSearchIndex

El usuario puede ejecutar el dropSearchIndex comando de base de datos. Aplique esta acción a la base de datos o al recurso de colección.

listSearchIndexes

El usuario puede ejecutar la $listSearchIndexes etapa de agregación. Aplique esta acción a la base de datos o al recurso de colección.

updateSearchIndex

El usuario puede ejecutar el updateSearchIndex comando de base de datos. Aplique esta acción a la base de datos o al recurso de colección.

collStats

El usuario puede ejecutar el comando collStats. Aplica esta acción a los recursos de bases de datos o colecciones.

connPoolStats

El usuario puede ejecutar el comando connPoolStats. Aplica esta acción al recurso del cluster.

dbHash

El usuario puede ejecutar el comando dbHash. Aplica esta acción a los recursos de bases de datos o colecciones.

dbStats

El usuario puede ejecutar el comando dbStats. Aplica esta acción a los recursos de bases de datos.

getCmdLineOpts

El usuario puede ejecutar el comando getCmdLineOpts. Aplica esta acción al recurso del cluster.

getLog

El usuario puede ejecutar el comando getLog. Aplica esta acción al recurso del cluster.

indexStats

El usuario puede ejecutar la etapa de canalización de agregación $indexStats. Aplicar esta acción a los recursos de base de datos o colección.

Para utilizar la etapa $indexStats, los usuarios deben autenticarse con al menos el rol de clusterMonitor.

listDatabases

El usuario puede ejecutar el comando listDatabases. Aplica esta acción al recurso del cluster.

Si el usuario no tiene la acción de privilegio listDatabases, los usuarios pueden ejecutar el comando listDatabases para devolver una lista de bases de datos para las cuales el usuario tiene privilegios (incluyendo bases de datos para las cuales el usuario tiene privilegios en colecciones específicas) si el comando se ejecuta con la opción authorizedDatabases no especificada o establecida en true.

listCollections

El usuario puede ejecutar el comando listCollections. Aplica esta acción a los recursos de bases de datos.

Nota

Los usuarios sin el privilegio requerido pueden ejecutar el comando listCollections con ambas opciones authorizedCollections y nameOnly establecidas en true. En este caso, el comando devuelve solo el nombre y el tipo de las colecciones para las que el usuario tiene privilegios.

listIndexes

El usuario puede ejecutar el comando listIndexes. Aplica esta acción a los recursos de bases de datos o colecciones.

queryStatsRead

El usuario puede ejecutar la $queryStats etapa de agregación sin la opción transformIdentifiers.

queryStatsReadTransformed

El usuario puede ejecutar la etapa de agregación $queryStats sin la opción transformIdentifiers.

serverStatus

El usuario puede ejecutar el comando serverStatus. Aplica esta acción al recurso del cluster.

validate

El usuario puede ejecutar los comandos validate y validateDBMetadata . Aplica esta acción a los recursos de base de datos o colección.

top

El usuario puede ejecutar el comando top. Aplica esta acción al recurso del cluster.

anyAction

Permite cualquier acción en un recurso. No asignes esta acción a menos que sea absolutamente necesario.

internal

Permite acciones internas. No asigne esta acción a menos que sea absolutamente necesario.

applyOps

El usuario puede ejecutar el comando applyOps. Aplica esta acción a un recurso de cluster.

Volver

Roles personalizados de bases de datos

En esta página