Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

revogar privilégios da função

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Campos de comando
  • Comportamento
  • Acesso necessário
  • Exemplo
revokePrivilegesFromRole

Remove os privilégios especificados do roledefinido pelo usuário no banco de banco de dados 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

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

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 products
db.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 products
db.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 products
db.runCommand(
{
revokePrivilegesFromRole: "associate",
privileges:
[
{
resource: { db: "products", collection: "" },
actions: [ "createCollection", "createIndex", "find" ]
},
{
resource: { db: "products", collection: "orders" },
actions: [ "insert" ]
}
],
writeConcern: { w: "majority" }
}
)

Voltar

Invalidar o cache do usuário