db.revokeRolesFromRole()
Definição
db.revokeRolesFromRole(rolename, roles, writeConcern)
Remove os roles herdados especificados de um role.
Importante
Método mongosh
Esta página documenta um método
mongosh
. Esta não é a documentação de comandos de banco de dados nem drivers específicos de linguagem, como Node.js.Para o comando de banco de dados de dados, consulte o comando
revokeRolesFromRole
.Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
O método
db.revokeRolesFromRole()
utiliza a seguinte sintaxe:db.revokeRolesFromRole( "<rolename>", [ <roles> ], { <writeConcern> } ) O método
db.revokeRolesFromRole()
utiliza os seguintes argumentos:ParâmetroTipoDescriçãorolename
stringO nome da role da qual revogar roles.roles
arrayAs funções herdadas a serem removidas.writeConcern
documentoOpcional. O nível da write concern para a operação. Consulte Especificação de write concern.
No campo
roles
, é possível especificar roles incorporadas e roles definidas pelo usuário.Para especificar uma função que existe no mesmo banco de dados onde o
db.revokeRolesFromRole()
é executado, você pode especificar a função com o próprio nome dela:"readWrite" Ou você pode especificar a role com um documento, como feito a seguir:
{ role: "<role>", db: "<database>" } Para especificar uma role existente em outro banco de dados, especifique-a com um documento.
Compatibilidade
Esse método 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
Comportamento
réplicaSet
Se executado em um conjunto de réplicas, db.revokeRolesFromRole()
é executado usando a preocupação de gravação "majority"
por padrão.
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 db.revokeRolesFromRole()
no banco de dados emea
remove duas roles da role purchaseAgents
:
use emea db.revokeRolesFromRole( "purchaseAgents", [ "writeOrdersCollection", "readOrdersCollection" ], { 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" } ] }