El control de acceso a nivel de colección permite a los administradores otorgar a los usuarios privilegios limitados a colecciones específicas.
Los administradores pueden implementar el control de acceso a nivel de colección a través de Roles definidos por el usuario. Al crear un rol con privilegios que se limitan a una colección específica en una base de datos específica, los administradores pueden asignar a los usuarios roles que otorgan privilegios a nivel de colección.
Privilegios y alcance
Un privilegio consta de acciones y los recursos sobre los cuales se permiten dichas acciones; es decir, los recursos definen el alcance de las acciones para ese privilegio.
Al especificar tanto la base de datos como la colección en el documento de recursos para un privilegio, el administrador puede limitar las acciones de privilegio a una colección específica en una base de datos específica. Cada acción de privilegio en un rol puede tener como ámbito una colección diferente.
Por ejemplo, un rol definido por el usuario puede contener los siguientes privilegios:
privileges: [ { resource: { db: "products", collection: "inventory" }, actions: [ "find", "update", "insert" ] }, { resource: { db: "products", collection: "orders" }, actions: [ "find" ] } ]
El primer privilegio limita su acción a lo siguiente: inventory Colección de la base de datos products. El segundo privilegio limita sus acciones a la colección orders de la base de datos products.
Información Adicional
Para más información sobre los roles definidos por el usuario y el modelo de autorización de MongoDB, consulta Control de acceso basado en roles en implementaciones autogestionadas. Para encontrar un tutorial sobre cómo crear roles definidos por el usuario, consulta Gestiona usuarios y roles en implementaciones autogestionadas.