Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

db.getRoles()

Nesta página

  • Definição
  • Acesso obrigatório
  • Exemplos
  • Mostrar privilégios de role e roles integrados
  • Mostrar restrições de autenticaçã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 executar sem um argumento, o db.getRoles() retorna informações de herança para as funções definidas pelo usuário do banco de dados.

Para retornar mais informações, passe db.getRoles() a um documento com os seguintes campos:

Campo
Tipo
Descrição
rolesInfo
inteiro
Configure este campo para 1 para recuperar todos os roles definidos pelo usuário.
showAuthenticationRestrictions
boleano

Opcional. 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ída db.getRoles() não inclui restrições de autenticação.

showBuiltinRoles
boleano
Opcional. Configure este campo para verdadeiro para exibir roles integrados, além de roles definidos pelo usuário.
showPrivileges
boleano
Opcional. Configure este campo como true 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 comando rolesInfo .

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.

Os exemplos nesta seção mostram como utilizar db.getRoles para:

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',
...
]
}
]
},
...
]
}

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
}
← db.getRole()