Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

revokeRolesFromRole

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Acesso necessário
  • Exemplo
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 assistente db.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.

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

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

É necessário ter a revokeRole ação em um banco de dados para revogar um role nesse banco de dados.

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"
}
]
}

Voltar

revogar privilégios da função