Docs Menu
Docs Home
/ /

db.getRoles() (método mongosh)

db.getRoles()

Devuelve información de todos los roles de la base de datos donde se ejecuta el comando. El método puede ejecutarse con o sin argumentos.

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

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

Campo
Tipo
Descripción

rolesInfo

entero

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

showAuthenticationRestrictions

booleano

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

De forma predeterminada, este campo es false, lo que significa que la salida db.getRoles() no incluye restricciones de autenticación.

showBuiltinRoles

booleano

Opcional. Establezca este campo como verdadero para mostrar los roles integrados y los definidos por el usuario.

showPrivileges

booleano

Opcional. Configure este campo como true para mostrar los privilegios del rol, incluyendo tanto los heredados de otros roles como los definidos directamente. De forma predeterminada, el comando solo devuelve los roles de los cuales este rol hereda privilegios y no devuelve privilegios específicos.

db.getRoles() envuelve el rolesInfo comando.

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 utilizar db.getRoles para:

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

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

Ejemplo de salida (abreviado 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 de herencia de roles y restricciones de autenticación para todos los roles definidos por el product usuario en la base de datos:

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