revokeRolesFromRole
Definição
revokeRolesFromRole
Remove os roles herdados especificados de um role. O comando
revokeRolesFromRole
tem a seguinte sintaxe:Dica
Em
mongosh
, esse comando também pode ser executado por meio do método assistentedb.revokeRolesFromRole()
.Os métodos auxiliares são práticos para os usuários
mongosh
, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Este comando não é suportado em clusters M0, M2 e M5 . Para obter mais informações, 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
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { revokeRolesFromRole: "<role>", roles: [ { role: "<role>", db: "<database>" } | "<role>", ... ], writeConcern: { <write concern> }, comment: <any> } The command has the following fields: .. list-table:: :header-rows: 1 :widths: 20 20 80 * - Field - Type - Description * - ``revokeRolesFromRole`` - string - The role from which to remove inherited roles. * - ``roles`` - array - The inherited roles to remove. * - ``writeConcern`` - document - .. include:: /includes/fact-write-concern-spec-link.rst * - ``comment`` - any - .. include:: /includes/extracts/comment-content.rst .. |local-cmd-name| replace:: :dbcommand:`revokeRolesFromRole` .. include:: /includes/fact-roles-array-contents.rst
Acesso necessário
É necessário ter a revokeRole
ação em um banco de dados para revogar um role nesse banco de dados.
Exemplo
O role purchaseAgents
no reconhecimento de data center emea
herda privilégio de vários outros roles, conforme listado na array roles
:
{ "_id" : "emea.purchaseAgents", "role" : "purchaseAgents", "db" : "emea", "privileges" : [], "roles" : [ { "role" : "readOrdersCollection", "db" : "emea" }, { "role" : "readAccountsCollection", "db" : "emea" }, { "role" : "writeOrdersCollection", "db" : "emea" } ] }
A seguinte operação revokeRolesFromRole
no banco de dados emea
remove duas roles da role purchaseAgents
:
use emea db.runCommand( { revokeRolesFromRole: "purchaseAgents", roles: [ "writeOrdersCollection", "readOrdersCollection" ], writeConcern: { w: "majority" , wtimeout: 5000 } } )
A role purchaseAgents
agora contém apenas uma role:
{ "_id" : "emea.purchaseAgents", "role" : "purchaseAgents", "db" : "emea", "privileges" : [], "roles" : [ { "role" : "readAccountsCollection", "db" : "emea" } ] }