system.users
Collection em sistemas autogerenciados
Nesta página
A coleção system.users
no banco de banco de dados admin
armazena informações deautenticação e autorização do usuário . Para gerenciar dados nesta coleção, o MongoDB fornece comandos de gerenciamento de usuário.
system.users
Esquema
Os documentos na coleção system.users
têm o seguinte esquema:
{ _id: <system defined id>, userId : <system assigned UUID>, user: "<name>", db: "<database>", credentials: { <authentication credentials> }, roles: [ { role: "<role name>", db: "<database>" }, ... ], customData: <custom information>, authenticationRestrictions : [ <documents> ] }
Cada documento system.users
tem os seguintes campos:
admin.system.users.user
O nome de usuário. Um usuário existe no contexto de um único banco de banco de dados lógico (consulte
admin.system.users.db
), mas pode ter acesso em outros bancos de dados por papéis especificados na arrayroles
.
admin.system.users.db
O banco de dados de autenticação associado ao usuário. Os privilégios do usuário não são necessariamente limitados a este banco de dados. O usuário pode ter privilégios em bancos de dados adicionais por meio da array
roles
.
admin.system.users.credentials
Informações de autenticação do usuário. Para usuários com credenciais de autenticação armazenadas externamente, como usuários que utilizam Kerberos ou x.509 certificados para autenticação, o documento
system.users
para esse usuário não contém o campocredentials
. Para credenciais de usuário SCRAM , as informações incluem o mecanismo, a contagem de iteração e os parâmetros de autenticação.
admin.system.users.roles
Uma série de funções concedidas ao usuário. A array contém funções integradas e funções definidas pelo usuário.
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.users.roles[n].role
O nome de um papel. Um papel pode ser um papel embutido fornecido pelo MongoDB ou um papel personalizado definido pelo usuário.
Ao especificar uma função usando os comandos de gerenciamento de funções ou de usuários, você pode especificar apenas o nome da função (por exemplo
"readWrite"
) se o papel que existe no banco de dados no qual o comando é executado.
admin.system.users.authenticationRestrictions
Um conjunto de restrições de autenticação que o servidor impõe para o usuário. A lista de array contém endereços IP e faixas CIDR a partir das quais o usuário tem permissão para se conectar ao servidor ou a partir das quais o servidor pode aceitar usuários.
Exemplo
Considere o seguinte documento na coleção system.users
:
{ "_id" : "home.Kari", "userId" : UUID("ec1eced7-055a-4ca8-8737-60dd02c52793"), "user" : "Kari", "db" : "home", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "S/xM2yXFosynbCu4GzFDgQ==", "storedKey" : "Ist4cgpEd1vTbnRnQLdobgmOsBA=", "serverKey" : "e/0DyzS6GPboAA2YNBkGYm87+cg=" }, "SCRAM-SHA-256" : { "iterationCount" : 15000, "salt" : "p1G+fZadAeYAbECN8F/6TMzXGYWBaZ3DtWM0ig==", "storedKey" : "LEgLOqZQmkGhd0owm/+6V7VdJUYJcXBhPUvi9z+GBfk=", "serverKey" : "JKfnkVv9iXwxyc8JaapKVwLPy6SfnmB8gMb1Pr15T+s=" } }, "authenticationRestrictions" : [ { "clientSource" : [ "69.89.31.226" ], "serverAddress" : [ "172.16.254.1" ] } ], "customData" : { "zipCode" : "64157" }, "roles" : [ { "role" : "read", "db" : "home" }, { "role" : "readWrite", "db" : "test" } ] }
O documento mostra que o banco de dados de autenticação de um usuário Kari
é o banco de dados home
. Kari
tem a função read
no banco de dados home
, a função readWrite
no banco de dados test
.