Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Gestión de Roles

db.getRole() (método mongosh)

db.getRole(rolename, args)

Devuelve los roles de los cuales este rol hereda privilegios. Opcionalmente, el método también puede devolver todos los privilegios del rol.

Ejecuta db.getRole() desde la base de datos que contiene el rol. El comando puede recuperar información para ambos Roles definidos por el usuario y roles integrados.

El método db.getRole() acepta los siguientes parámetros:

Parameter
Tipo
Descripción

rolename

string

El nombre del rol.

args

Documento

Opcional. Un documento que especifica argumentos adicionales.

El documento args admite los siguientes campos opcionales:

Campo
Tipo
Descripción

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.

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

showBuiltinRoles

booleano

Opcional. Configure este campo como true para incluir los roles integrados en la salida. De forma predeterminada, este campo está configurado como false y la salida para rolesInfo: 1 muestra solo los 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.getRole() 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 utilizar db.getRoles para:

La siguiente operación devuelve información sobre la herencia de roles para el rol associate definido en la base de datos products:

use products
db.getRole( "associate" )

Ejemplo de salida:

{
_id: 'products.associate',
role: 'associate',
db: 'products',
roles: [ { role: 'readWrite', db: 'products' } ],
inheritedRoles: [ { role: 'readWrite', db: 'products' } ],
isBuiltin: false
}

La siguiente operación devuelve información de herencia de roles y privilegios para el rol associate definido en la products base de datos:

use products
db.getRole( "associate", { showPrivileges: true } )

Ejemplo de salida:

{
_id: 'products.associate',
role: 'associate',
db: 'products',
privileges: [
{
resource: { db: 'products', collection: '' },
actions: [ 'bypassDocumentValidation' ]
}
],
roles: [ { role: 'readWrite', db: 'products' } ],
inheritedRoles: [ { role: 'readWrite', db: 'products' } ],
inheritedPrivileges: [
{
resource: { db: 'products', collection: '' },
actions: [ 'bypassDocumentValidation' ]
},
{
resource: { db: 'products', collection: '' },
actions: [
'changeStream',
'collStats',
'compactStructuredEncryptionData',
'convertToCapped',
'createCollection',
'createIndex',
'dbHash',
'dbStats',
'dropCollection',
'dropIndex',
'find',
'insert',
'killCursors',
'listCollections',
'listIndexes',
'planCacheRead',
'remove',
'renameCollectionSameDB',
'update'
]
}
],
isBuiltin: false
}

La siguiente operación devuelve la información de herencia de roles y las restricciones de autenticación para el rol associate definido en la base de datos products:

use products
db.getRole( "associate", { showAuthenticationRestrictions: true } )

Ejemplo de salida:

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

Volver

db.dropAllRoles

En esta página