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

Documento de recurso sobre sistemas autogerenciados

Nesta página

  • Banco de dados e/ou recurso de coleção
  • Recurso de cluster
  • anyResource

O documento de recursos especifica os recursos nos quais um privilégio permite actions.

Para especificar banco de dados e/ou coleções, use a seguinte sintaxe:

{ db: <database>, collection: <collection> }

Se o documento de recurso especificar os campos db e collection como cadeias de caracteres não vazias, o recurso será a coleção especificada no banco de dados especificado. Por exemplo, o documento a seguir especifica um recurso da coleção inventory no banco de dados products :

{ db: "products", collection: "inventory" }

Para uma função definida pelo usuário com escopo para um banco de dados não admin, a especificação do recurso para seus privilégios deve especificar o mesmo banco de dados da função. As funções definidas pelo usuário com escopo para o banco de dados admin podem especificar outros bancos de dados.

Se apenas o campo collection for uma string vazia (""), o recurso será o banco de banco de dados especificado , excluindo ascollections do sistema . Por exemplo, o seguinte documento de recurso especifica o recurso do banco de banco de dados test , excluindo as collections do sistema:

{ db: "test", collection: "" }

Para uma função definida pelo usuário com escopo para um banco de dados não admin, a especificação do recurso para seus privilégios deve especificar o mesmo banco de dados da função. As funções definidas pelo usuário com escopo para o banco de dados admin podem especificar outros bancos de dados.

Observação

Quando você especifica um banco de dados como recurso, as coleções do sistema são excluídas, a menos que você as nomeie explicitamente, como a seguir:

{ db: "test", collection: "system.js" }

As coleções do sistema incluem entre outros:

Se apenas o campo db for uma string vazia (""), o recurso será todas as coleções com o nome especificado em todos os bancos de dados. Por exemplo, o documento a seguir especifica o recurso de todas as coleções de accounts em todos os bancos de dados:

{ db: "", collection: "accounts" }

Para funções definidas pelo usuário, somente as funções com escopo para o banco de dados admin podem ter essa especificação de recurso para seus privilégios.

Se ambos os campos db e collection forem strings vazias (""), o recurso será todas as coleções, exceto as coleções do sistema, em todos os banco de dados:

{ db: "", collection: "" }

Para funções definidas pelo usuário, somente as funções com escopo para o banco de dados admin podem ter essa especificação de recurso para seus privilégios.

Para especificar o cluster como o recurso, use a seguinte sintaxe:

{ cluster : true }

Use o recurso cluster para ações que afetam o estado do sistema em vez de agir em um conjunto específico de bancos de dados ou coleções. Alguns exemplos dessas ações são shutdown, replSetReconfig e addShard. Por exemplo, o documento a seguir concede a ação shutdown no cluster.

{ resource: { cluster : true }, actions: [ "shutdown" ] }

Para funções definidas pelo usuário, somente as funções com escopo para o banco de dados admin podem ter essa especificação de recurso para seus privilégios.

O anyResource de recursos internos dá acesso a todos os recursos do sistema e destina-se ao uso interno. Não utilize esse recurso, exceto em circunstâncias excepcionais. A sintaxe deste recurso é { anyResource: true }.

Voltar

collection system.users