Definición
db.getRole(rolename, args)Devuelve los roles de los que este rol hereda privilegios. Opcionalmente, el método también puede devolver todos los privilegios del rol.
Ejecutar
db.getRole()de 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:ParameterTipoDescripciónrolenamestring
El nombre del rol.
argsDocumento
opcional. Un documento que especifica argumentos adicionales.
El documento
argsadmite los siguientes campos opcionales:CampoTipoDescripciónshowAuthenticationRestrictionsbooleano
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.Por defecto, este campo está en
false, lo que significa que la salidadb.getRole()no incluye restricciones de autenticación.showBuiltinRolesbooleano
opcional. Configura este campo en
truepara incluir roles incorporados en la salida. Por defecto, este campo se establece enfalse, y la salida pararolesInfo: 1muestra solo los 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.getRole()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 usar db.getRoles para:
Mostrar información sobre la herencia de roles
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 }
Mostrar los privilegios de los roles
La siguiente operación devuelve información sobre la herencia de roles y privilegios para el rol associate definido en la base de datos products:
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 }
Mostrar restricciones de autenticación
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 }