Docs Menu
Docs Home
/ /

system.roles Colecci贸n en Implementaciones Autogestionadas

La colecci贸n system.roles de la base de datos admin almacena los roles definidos por el usuario. Para crear y administrar estos roles, MongoDB proporciona comandos de gesti贸n de roles.

Los documentos de la colecci贸n system.roles tienen el siguiente esquema:

{
_id: <system-defined id>,
role: "<role name>",
db: "<database>",
privileges:
[
{
resource: { <resource> },
actions: [ "<action>", ... ]
},
...
],
roles:
[
{ role: "<role name>", db: "<database>" },
...
]
}

Un documento system.roles tiene los siguientes campos:

admin.system.roles.role

El role campo es una cadena que especifica el nombre del rol.

admin.system.roles.db

El campo es una cadena que especifica la base de datos a la que pertenece db role el rol. MongoDB identifica de forma 煤nica cada rol mediante la combinaci贸n de su nombre (es decir,) y su base de datos.

admin.system.roles.privileges

La matriz contiene privileges los documentos de privilegios que definen los privilegios para el rol.

Un documento de privilegio tiene la siguiente sintaxis:

{
resource: { <resource> },
actions: [ "<action>", ... ]
}

Cada documento de privilegio tiene los siguientes campos:

admin.system.roles.privileges[n].resource

Un documento que especifica los recursos a los que se actions aplica el privilegio. El documento tiene uno de los siguientes formatos:

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

or

{ cluster : true }

Consulte el documento de recursos sobre implementaciones autogestionadas para obtener m谩s detalles.

admin.system.roles.privileges[n].actions

Conjunto de acciones permitidas en el recurso. Para ver la lista de acciones, consulte Acciones de privilegios.

admin.system.roles.roles

La matriz contiene documentos de roles que roles especifican los roles de los cuales este rol hereda privilegios.

Un documento de rol tiene la siguiente sintaxis:

{ role: "<role name>", db: "<database>" }

Un documento de rol tiene los siguientes campos:

admin.system.roles.roles[n].role

El nombre del rol. Un rol puede ser un rol integrado proporcionado por MongoDB o un rol definido por el usuario.

admin.system.roles.roles[n].db

El nombre de la base de datos donde se define el rol.

Considere los siguientes documentos de muestra que se encuentran en la colecci贸n system.roles de la base de datos admin.

El siguiente es un documento de muestra para un rol definido por el usuario appUser definido para la base de datos myApp:

{
_id: "myApp.appUser",
role: "appUser",
db: "myApp",
privileges: [
{ resource: { db: "myApp" , collection: "" },
actions: [ "find", "createCollection", "dbStats", "collStats" ] },
{ resource: { db: "myApp", collection: "logs" },
actions: [ "insert" ] },
{ resource: { db: "myApp", collection: "data" },
actions: [ "insert", "update", "remove", "compact" ] },
{ resource: { db: "myApp", collection: "system.js" },
actions: [ "find" ] },
],
roles: []
}

La matriz privileges enumera los cinco privilegios que especifica el rol appUser:

Como lo indica la matriz roles vac铆a, appUser no hereda privilegios adicionales de otros roles.

El siguiente es un documento de ejemplo para un rol definido por el usuario appAdmin definido para la base de datos myApp: El documento muestra que el rol appAdmin especifica privilegios e incluso hereda privilegios de otros roles:

{
_id: "myApp.appAdmin",
role: "appAdmin",
db: "myApp",
privileges: [
{
resource: { db: "myApp", collection: "" },
actions: [ "insert", "dbStats", "collStats", "compact" ]
}
],
roles: [
{ role: "appUser", db: "myApp" }
]
}

La privileges matriz enumera los privilegios que appAdmin especifica el rol. Este rol tiene un 煤nico privilegio que permite sus acciones"insert" "dbStats""collStats""compact"(,,,) en todas las colecciones de la myApp base de datos, excepto las colecciones del sistema. Consulte Especificar una base de datos como recurso.

La matriz roles enumera los roles, identificados por los nombres de roles y las bases de datos, de los cuales el rol appAdmin hereda privilegios.

Volver

Referencia

En esta p谩gina