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

system.roles Collection em sistemas autogerenciados

A coleção system.roles no banco de dados admin armazena as funções definidas pelo usuário. Para criar e gerenciar essas funções definidas pelo usuário, o MongoDB fornece comandos de gerenciamento de funções.

Os documentos na coleção system.roles têm o seguinte esquema:

{
_id: <system-defined id>,
role: "<role name>",
db: "<database>",
privileges:
[
{
resource: { <resource> },
actions: [ "<action>", ... ]
},
...
],
roles:
[
{ role: "<role name>", db: "<database>" },
...
]
}

Um documento system.roles tem os seguintes campos:

admin.system.roles.role

The role field is a string that specifies the name of the role.

admin.system.roles.db

The db field is a string that specifies the database to which the role belongs. MongoDB uniquely identifies each role by the pairing of its name (i.e. role) and its database.

admin.system.roles.privileges

The privileges array contains the privilege documents that define the privileges for the role.

Um documento de privilégio tem a seguinte sintaxe:

{
resource: { <resource> },
actions: [ "<action>", ... ]
}

Cada documento de privilégio tem os seguintes campos:

admin.system.roles.privileges[n].resource

A document that specifies the resources upon which the privilege actions apply. The document has one of the following form:

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

ou

{ cluster : true }

Consulte o Documento de recurso sobre implementações autogerenciadas para obter mais detalhes.

admin.system.roles.privileges[n].actions

Uma série de ações permitidas no recurso. Para uma lista de ações, consulte Ações de Privilégio.

admin.system.roles.roles

The roles array contains role documents that specify the roles from which this role inherits privileges.

Um documento de função tem a seguinte sintaxe:

{ role: "<role name>", db: "<database>" }

Um documento de função tem os seguintes campos:

admin.system.roles.roles[n].role

O nome da função. Um papel pode ser um papel embutido fornecido pelo MongoDB ou um papel definido pelo usuário.

admin.system.roles.roles[n].db

O nome do banco de banco de dados onde o papel é definido.

Considere os seguintes documentos de amostra encontrados na coleção system.roles do banco de banco de dados admin .

Veja a seguir um documento de exemplo para uma função estabelecida pelo usuário appUser definida para o banco de dados myApp:

{
_id: "myApp.appUser",
role: "appUser",
db: "myApp",
privileges: [
{ resource: { db: "myApp" , collection: "" },
actions: [ "find", "createCollection", "dbStats", "collStats" ] },
{ resource: { db: "myApp", collection: "logs" },
actions: [ "insert" ] },
{ resource: { db: "myApp", collection: "data" },
actions: [ "insert", "update", "remove", "compact" ] },
{ resource: { db: "myApp", collection: "system.js" },
actions: [ "find" ] },
],
roles: []
}

A array privileges lista os cinco privilégios que a função appUser especifica:

Conforme indicado pela array roles vazia, appUser não herda privilégios adicionais de outras funções.

A seguir está um exemplo de documento de uma função appAdmin definida pelo usuário para o banco de dados myApp: o documento mostra que a função appAdmin especifica privilégios e herda privilégios de outras funções:

{
_id: "myApp.appAdmin",
role: "appAdmin",
db: "myApp",
privileges: [
{
resource: { db: "myApp", collection: "" },
actions: [ "insert", "dbStats", "collStats", "compact" ]
}
],
roles: [
{ role: "appUser", db: "myApp" }
]
}

A array privileges lista os privilégios que a função appAdmin especifica. Esta função tem um único privilégio que permite suas ações ( "insert", "dbStats", "collStats", "compact") em todas as coleções do banco de dados myApp, excluindo suas coleções do sistema. Consulte Especificar um banco de dados como recurso.

A array roles lista as funções, identificadas pelos nomes das funções e banco de dados, a partir dos quais a função appAdmin herda privilégios.

Avalie esta página