Definición
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:CampoTipoDescripciónrolesInfoentero
Establece este campo en
1para recuperar todos los roles definidos por el usuario.showAuthenticationRestrictionsbooleano
opcional. Establezca este campo en
truepara 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 salidadb.getRoles()no incluye restricciones de autenticación.showBuiltinRolesbooleano
opcional. Establezca este campo en verdadero para mostrar roles incorporados así como roles definidos por el usuario.
showPrivilegesbooleano
opcional. Establece este campo en
truepara 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 comandorolesInfo.
Compatibilidad
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.
Acceso requerido
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.
Ejemplos
Los ejemplos de esta sección muestran cómo utilizar db.getRoles para:
Mostrar privilegios de rol y roles incorporados
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', ... ] } ] }, ... ] }
Mostrar restricciones de autenticación
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 }