Definição
revokeRolesFromUserRemove um ou mais roles de um usuário no banco de dados onde os roles existem.
Dica
In
mongosh, this command can also be run through thedb.revokeRolesFromUser()helper method.Helper methods are convenient for
mongoshusers, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
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
Importante
Este comando não é aceito em clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { revokeRolesFromUser: "<user>", roles: [ { role: "<role>", db: "<database>" } | "<role>", ... ], writeConcern: { <write concern> }, comment: <any> } )
Campos de comando
O comando utiliza os seguintes campos:
Campo | Tipo | Descrição |
|---|---|---|
| string | O usuário do qual remover roles. |
| array | As roles a serem removidas do usuário. |
| documento | Opcional. O nível da write concern para a operação. Consulte Especificação de write concern. |
| any | Opcional. Um comentário fornecido pelo usuário para anexar a este comando. Depois de definido, esse comentário aparece junto com os registros desse comando nos seguintes locais:
Um comentário pode ser qualquer tipo BSON válido (string, inteiro, objeto, array etc). |
No campo roles, é possível especificar roles incorporadas e roles definidas pelo usuário.
To specify a role that exists in the same database where revokeRolesFromUser runs, you can either specify the role with the name of the role:
"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.
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 usuário do products accountUser01 reconhecimento de data center do tem os seguintes roles:
"roles" : [ { "role" : "assetsReader", "db" : "assets" }, { "role" : "read", "db" : "stock" }, { "role" : "readWrite", "db" : "products" } ]
O comando a seguir revokeRolesFromUser remove as duas funções do usuário: a função read no stock banco de dados e a função readWrite no products banco de dados, que também é o banco de dados no qual o comando é executado:
use products db.runCommand( { revokeRolesFromUser: "accountUser01", roles: [ { role: "read", db: "stock" }, "readWrite" ], writeConcern: { w: "majority" } } )
O usuário accountUser01 no banco de dados products agora tem apenas um role restante:
"roles" : [ { "role" : "assetsReader", "db" : "assets" } ]