Docs Menu
Docs Home
/ /
Referencia
/ / / /

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, utilice 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 cadena vacía (""), el recurso es la base de datos especificada, excluyendo la Colecciones del sistema. Por ejemplo, el siguiente documento de recursos especifica el recurso de la test base de datos, 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 las nombre explícitamente, como en lo siguiente:

{ 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 db collection los campos y son cadenas vacías"" (), el recurso son todas las colecciones, excluidas 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 }

Utilice el recurso cluster para acciones que afecten al estado del sistema, en lugar de actuar sobre un conjunto específico de bases de datos o colecciones. Ejemplos de estas acciones son shutdown, replSetReconfig y addShard. Por ejemplo, el siguiente documento otorga la acción shutdown sobre 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 para uso interno. No lo utilice, salvo en circunstancias excepcionales. La sintaxis de este recurso { anyResource: true } es.

Volver

Colección systems.users

En esta página