db.getRole()
Nesta página
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.
Execute
db.getRole()
no banco de banco de dados que contém o role. O comando pode recuperar informações pararoles definidos pelo usuário e roles embutidos.O método
db.getRole()
aceita os seguintes parâmetros:ParâmetroTipoDescriçãorolename
stringO nome da role.args
documentoOpcional. Um documento que especifica argumentos adicionais.O documento
args
suporta os seguintes campos opcionais:CampoTipoDescriçãoshowAuthenticationRestrictions
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.getRole()
não inclui restrições de autenticação.showBuiltinRoles
booleanoOpcional. Configure este campo comotrue
para incluir roles incorporadas na saída. Por padrão, este campo é configurado comofalse
, e a saída derolesInfo: 1
exibe somente roles definidas 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.getRole()
encapsula o comandorolesInfo
.
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 }