Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Documento de recurso sobre implementaciones autogestionado

El documento de recursos especifica los recursos sobre los que se permite un privilegio actions.

Para especificar bases de datos y/o colecciones, utiliza la siguiente sintaxis:

{ db: <database>, collection: <collection> }

Si el documento de recurso especifica los campos db y collection como cadenas no vacías, el recurso es la colección especificada en la base de datos especificada. Por ejemplo, el siguiente documento especifica un recurso de la colección inventory en la base de datos products:

{ db: "products", collection: "inventory" }

Para un rol definido por el usuario cuyo ámbito es una base de datos distinta deadmin, la especificación del recurso para sus privilegios debe especificar la misma base de datos que el rol. Los roles definidos por el usuario cuyo ámbito es la base de datos admin pueden especificar otras bases de datos.

Si solo el campo collection es una string vacía (""), el recurso es la base de datos especificada, excluyendo la colecciones del sistema. Por ejemplo, el siguiente documento de recurso especifica el recurso de la base de datos test, excluyendo las colecciones del sistema:

{ db: "test", collection: "" }

Para un rol definido por el usuario cuyo ámbito es una base de datos distinta deadmin, la especificación del recurso para sus privilegios debe especificar la misma base de datos que el rol. Los roles definidos por el usuario cuyo ámbito es la base de datos admin pueden especificar otras bases de datos.

Nota

Cuando se especifica una base de datos como recurso, se excluyen las colecciones del sistema, a menos que se nombren explícitamente, como en el siguiente caso:

{ db: "test", collection: "system.js" }

Las colecciones del sistema incluyen, pero no se limitan a, las siguientes:

Si solo el campo db es una cadena vacía (""), el recurso corresponde a todas las colecciones con el nombre especificado en todas las bases de datos. Por ejemplo, el siguiente documento especifica el recurso de todas las colecciones accounts en todas las bases de datos:

{ db: "", collection: "accounts" }

Para los roles definidos por el usuario, solo los roles asignados a la base de datos admin pueden tener esta especificación de recursos para sus privilegios.

Si tanto los campos db como collection son cadenas vacías (""), el recurso abarca todas las colecciones, excepto las colecciones del sistema, en todas las bases de datos:

{ db: "", collection: "" }

Para los roles definidos por el usuario, solo los roles asignados a la base de datos admin pueden tener esta especificación de recursos para sus privilegios.

Para especificar el clúster como recurso, utilice la siguiente sintaxis:

{ cluster : true }

Use el recurso cluster para acciones que afectan el estado del sistema en lugar de actuar sobre un conjunto específico de bases de datos o colecciones. Ejemplos de tales acciones son shutdown, replSetReconfig y addShard. Por ejemplo, el siguiente documento concede la acción shutdown en el cluster.

{ resource: { cluster : true }, actions: [ "shutdown" ] }

Para los roles definidos por el usuario, solo los roles asignados a la base de datos admin pueden tener esta especificación de recursos para sus privilegios.

El recurso interno anyResource da acceso a todos los recursos del sistema y está destinado a uso interno. No utilices este recurso, salvo en circunstancias excepcionales. La sintaxis para este recurso es { anyResource: true }.

Volver

systems.users colección

En esta página