db.getRoles()
Nesta página
Definição
db.getRoles()
Retorna informações para todos os roles no banco de dados no qual o comando é executado. O método pode ser executado com ou sem um argumento.
Se executado sem um argumento, o
db.getRoles()
retornará informações de herança para as funções definidas pelo usuário do banco de dados.Para retornar mais informações, passe um documento a
db.getRoles()
com os seguintes campos:CampoTipoDescriçãorolesInfo
inteiroConfigure este campo para1
para recuperar todos os roles definidos pelo usuário.showAuthenticationRestrictions
booleanoOpcional. Configure este campo como
true
para 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.getRoles()
não inclui restrições de autenticação.showBuiltinRoles
booleanoOpcional. Configure este campo para verdadeiro para exibir roles integrados, além de roles definidos pelo usuário.showPrivileges
booleanoOpcional. Configure este campo comotrue
para 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.getRoles()
encapsula o comandorolesInfo
.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
Importante
Este comando não é suportado em clusters MongoDB Atlas . Para obter informações sobre o suporte do Atlas para 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 privilégios de role e roles integrados
A seguinte operação retorna todos os roles no banco de dados products
, incluindo privilégios de role e roles integrados:
use products db.getRoles( { rolesInfo: 1, showPrivileges: true, showBuiltinRoles: true } )
Exemplo de saída (abreviado para facilitar a leitura):
{ 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 restrições de autenticação
A seguinte operação retorna informações de herança do papel e restrições de autenticação para todos os roles definidos pelo usuário no banco de dados product
:
use products db.getRoles( { rolesInfo: 1, showAuthenticationRestrictions: true } )
Saída de exemplo:
{ 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 }