revokeRolesFromUser
Definição
revokeRolesFromUser
Remove um ou mais roles de um usuário no banco de dados onde os roles existem.
Dica
No
mongosh
, este comando também pode ser executado pelo método assistente dodb.revokeRolesFromUser()
.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 M0, M2, M5 e M10+ clusters. 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( { 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.
Para especificar uma função que existe no mesmo banco de dados onde o revokeRolesFromUser
é 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.
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 revokeRolesFromUser
a seguir remove as duas roles do usuário: a role read
no banco de dados stock
e a role readWrite
no banco de dados products
, 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" } ]