Definição
db.getRole(rolename, args)Retorna as funções das quais essa role herda privilégios. Opcionalmente, o método também pode retornar todos os privilégios da role.
Run
db.getRole()from the database that contains the role. The command can retrieve information for both user-defined roles and built-in roles.The
db.getRole()method accepts the following parameters:ParâmetroTipoDescriçãorolenamestring
O nome da role.
argsdocumento
Opcional. Um documento que especifica argumentos adicionais.
O documento
argssuporta os seguintes campos opcionais:CampoTipoDescriçãoshowAuthenticationRestrictionsbooleano
Opcional. Configure este campo como
truepara incluir restrições de autenticação na saída. As restrições de autenticação indicam os endereços IP aos quais os usuários com esta role podem se conectar.Por padrão, este campo é
false, significando que a saídadb.getRole()não inclui restrições de autenticação.showBuiltinRolesbooleano
Opcional. Configure este campo como
truepara incluir roles incorporadas na saída. Por padrão, este campo é configurado comofalse, e a saída derolesInfo: 1exibe somente roles definidas pelo usuário.showPrivilegesbooleano
Opcional. Configure este campo como
truepara mostrar privilégios de role, incluindo ambos os privilégios herdados de outras roles e privilégios definidos diretamente. Por padrão, o comando retorna somente as roles das quais esta role herda privilégios e não retorna privilégios específicos.db.getRole()wraps therolesInfocommand.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
Importante
Este comando não é aceito em clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Acesso necessário
Para visualizar as informações de um role, você deve ter recebido explicitamente a função ou deve ter a viewRole ação no banco de dados do role.
Exemplos
Os exemplos nesta seção mostram como utilizar db.getRoles para:
Mostrar informações de herança de role
A seguinte operação retorna informações de herança da role para a role associate definidas no banco de dados products:
use products db.getRole( "associate" )
Saída de exemplo:
{ _id: 'products.associate', role: 'associate', db: 'products', roles: [ { role: 'readWrite', db: 'products' } ], inheritedRoles: [ { role: 'readWrite', db: 'products' } ], isBuiltin: false }
Mostrar privilégios de role
A seguinte operação retorna informações de herança e privilégios da role associate definidas no banco de dados products:
use products db.getRole( "associate", { showPrivileges: true } )
Saída de exemplo:
{ _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 restrições de autenticação
A operação a seguir retorna informações de herança e restrições de autenticação da role associate definidas no banco de dados products:
use products db.getRole( "associate", { showAuthenticationRestrictions: true } )
Saída de exemplo:
{ _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 }