Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /
Gestión de Roles

db.getRoles() (método mongosh)

db.getRoles()

Devuelve información de todos los roles en la base de datos en los que se ejecuta el comando. El método se puede ejecutar con o sin un argumento.

Si se ejecuta sin un argumento, db.getRoles() devuelve información de herencia para la base de datos definidas por el usuario roles.

Para devolver más información, pasa el db.getRoles() a un documento con los siguientes campos:

Campo
Tipo
Descripción

rolesInfo

entero

Establece este campo en 1 para recuperar todos los roles definidos por el usuario.

showAuthenticationRestrictions

booleano

opcional. Establezca este campo en true para incluir restricciones de autenticación en la salida. Las restricciones de autenticación indican las direcciones IP a las que los usuarios con este rol pueden conectarse y desconectarse.

Por defecto, este campo está en false, lo que significa que la salida db.getRoles() no incluye restricciones de autenticación.

showBuiltinRoles

booleano

opcional. Establezca este campo en verdadero para mostrar roles incorporados así como roles definidos por el usuario.

showPrivileges

booleano

opcional. Establece este campo en true para mostrar los privilegios de rol, incluidos tanto los privilegios heredados de otros roles como los privilegios definidos directamente. Por defecto, el comando solo devuelve los roles de los que este rol hereda privilegios y no devuelve privilegios específicos.

db.getRoles() encapsula el comando rolesInfo.

Este método está disponible en implementaciones alojadas en los siguientes entornos:

Importante

Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

Para ver la información de un rol, debe tener el rol otorgado explícitamente o debe tener la viewRole acción en la base de datos del rol.

Los ejemplos de esta sección muestran cómo usar db.getRoles para:

La siguiente operación devuelve todos los roles en la base de datos products, incluyendo privilegios de los roles y roles integrados:

use products
db.getRoles(
{
rolesInfo: 1,
showPrivileges: true,
showBuiltinRoles: true
}
)

Salida de ejemplo (abreviada para facilitar la lectura):

{
roles: [
{
role: 'dbOwner',
db: 'products',
isBuiltin: true,
roles: [],
inheritedRoles: [],
privileges: [
{
resource: { db: 'products', collection: '' },
actions: [
'analyze',
'bypassDocumentValidation',
'changeCustomData',
...
]
},
{
resource: { db: 'products', collection: 'system.profile' },
actions: [
'changeStream',
'collStats',
'convertToCapped',
...
]
}
],
inheritedPrivileges: [
{
resource: { db: 'products', collection: '' },
actions: [
'analyze',
'bypassDocumentValidation',
'changeCustomData',
...
]
}
]
},
...
]
}

La siguiente operación devuelve información sobre la herencia de roles y las restricciones de autenticación para todos los roles definidos por el usuario en la base de datos product:

use products
db.getRoles( { rolesInfo: 1, showAuthenticationRestrictions: true } )

Ejemplo de salida:

{
roles: [
{
_id: 'products.associate',
role: 'associate',
db: 'products',
roles: [ { role: 'readWrite', db: 'products' } ],
authenticationRestrictions: [
[ { clientSource: [ '198.51.100.0' ] } ]
],
isBuiltin: false,
inheritedRoles: [ { role: 'readWrite', db: 'products' } ],
inheritedAuthenticationRestrictions: [
[ { clientSource: [ '198.51.100.0' ] } ]
]
}
],
ok: 1
}

Volver

db.getRole

En esta página