Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

revokeRolesFromRole (comando de banco de dados)

revokeRolesFromRole

Remove os roles herdados especificados de um role.

Dica

In mongosh, this command can also be run through the db.revokeRolesFromRole() helper method.

Helper methods are convenient for mongosh users, 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.

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

Importante

This command is not supported in M0 and Flex clusters. For more information, see Unsupported Commands.

  • 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>
}
)

O comando tem os seguintes campos:

Campo
Tipo
Descrição

revokeRolesFromRole

string

O role do qual remover os roles herdados.

roles

array

As funções herdadas a serem removidas.

writeConcern

documento

Opcional. O nível da write concern para a operação. Consulte Especificação de write concern.

comment

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 revokeRolesFromRole 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.

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

The following revokeRolesFromRole operation on the emea database removes two roles from the purchaseAgents role:

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