Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
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 ambos 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 delimitado para una base de datos que no seaadmin, la especificación de recursos para sus privilegios debe especificar la misma base de datos que el rol. Los roles definidos por el usuario con ámbito en 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 delimitado para una base de datos que no seaadmin, la especificación de recursos para sus privilegios debe especificar la misma base de datos que el rol. Los roles definidos por el usuario con ámbito en 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 un string vacío (""), el recurso incluye todas las colecciones con el nombre especificado en todas las bases de datos. Por ejemplo, el siguiente documento especifica el recurso de todas las accounts colecciones 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 el recurso, utiliza 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