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çã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()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 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 }