Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

revogar privilégios da função

Nesta página

  • Definição
  • Comportamento
  • Acesso obrigatório
  • Exemplo
revokePrivilegesFromRole

Remove os privilégios especificados do role definido pelo usuário no banco de dados onde o comando é executado. O comando revokePrivilegesFromRole tem a seguinte sintaxe:

Dica

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

Os métodos auxiliares são convenientes 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 conveniência não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.

{
revokePrivilegesFromRole: "<role>",
privileges:
[
{ resource: { <resource> }, actions: [ "<action>", ... ] },
...
],
writeConcern: <write concern document>,
comment: <any>
}

O comando revokePrivilegesFromRole tem os seguintes campos:

Campo
Tipo
Descrição
revokePrivilegesFromRole
string
O role definido pelo usuário do qual revogar privilégios.
privileges
variedade
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
qualquer

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 cluster recurso , você deverá ter a ação revokeRole no admin banco de dados .

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" }
}
)
← Invalidar o cache do usuário