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.

revokePrivilegesFromRole (comando de banco de dados)

revokePrivilegesFromRole

Remove o privilégio especificado do role definido pelo usuário no reconhecimento de data center onde o comando é executado.

Dica

Em mongosh, esse comando também pode ser executado por meio do método auxiliar db.revokePrivilegesFromRole().

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

Esse comando não é suportado em clusters M0 e Flex. 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( { revokePrivilegesFromRole: "<role>", privileges: [ { resource: { <resource> }, actions: [ "<action>", ... ] }, ... ], writeConcern: <write concern document>, comment: <any> })

O comando utiliza os seguintes campos:

Campo
Tipo
Descrição

revokePrivilegesFromRole

string

O role definido pelo usuário do qual revogar privilégios.

privileges

array

Uma série de privilégios para remover da função. Consulte privileges para mais informações sobre o formato dos privilégios.

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

Para revogar um privilégio, o padrão do documento do recurso deve corresponder exatamente ao campo resource desse privilégio. O campo actions pode ser um subconjunto ou corresponder exatamente.

Por exemplo, considere o role accountRole no reconhecimento de data center products com o seguinte privilégio que especifica o reconhecimento de data center products como o recurso:

{ "resource" : { "db" : "products", "collection" : "" }, "actions" : [ "find", "update" ]}

Você não pode revogar find e/ou update de apenas uma collection no banco de dados products . As seguintes operações resultam em nenhuma alteração na role:

use productsdb.runCommand( { revokePrivilegesFromRole: "accountRole", privileges: [ { resource : { db : "products", collection : "gadgets" }, actions : [ "find", "update" ] } ] }) db.runCommand( { revokePrivilegesFromRole: "accountRole", privileges: [ { resource : { db : "products", collection : "gadgets" }, actions : [ "find" ] } ] })

Para revogar a ação "find" e/ou "update" da função accountRole, você deve corresponder exatamente ao documento de recurso. Por exemplo, a seguinte operação revoga apenas a ação "find" do privilégio existente.

use productsdb.runCommand( { revokePrivilegesFromRole: "accountRole", privileges: [ { resource : { db : "products", collection : "" }, actions : [ "find" ] } ] })

Você deve ter a revokeRole ação no banco de dados que é alvo do privilégio para revogar esse privilégio. Se o privilégio tiver como alvo vários bancos de dados ou o recurso cluster , você deverá ter a ação revokeRole no banco de dados admin .

A seguinte operação remove vários privilégio da role associates no reconhecimento de data center products :

use productsdb.runCommand( { revokePrivilegesFromRole: "associate", privileges: [ { resource: { db: "products", collection: "" }, actions: [ "createCollection", "createIndex", "find" ] }, { resource: { db: "products", collection: "orders" }, actions: [ "insert" ] } ], writeConcern: { w: "majority" } })