Solución:
Mientras está listo para usar, MongoDb no tiene autenticación, puede crear el equivalente de un usuario root / superusuario usando los roles “any” para un usuario específico para el admin
base de datos.
Algo como esto:
use admin
db.addUser( { user: "<username>",
pwd: "<password>",
roles: [ "userAdminAnyDatabase",
"dbAdminAnyDatabase",
"readWriteAnyDatabase"
] } )
Actualización para 2.6+
Si bien hay un nuevo usuario root en 2.6, es posible que descubra que no satisface sus necesidades, ya que todavía tiene algunas limitaciones:
Proporciona acceso a las operaciones y a todos los recursos de los roles readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase y clusterAdmin combinados.
root no incluye ningún acceso a las colecciones que comienzan con el sistema. prefijo.
Actualización para 3.0+
Usar db.createUser
como db.addUser
fue removido.
Actualización para 3.0.7+
root ya no tiene las limitaciones indicadas anteriormente.
La raíz tiene la acción de validación de privilegios en el sistema. colecciones. Anteriormente, root no incluye ningún acceso a las colecciones que comienzan con el sistema. prefijo distinto de system.indexes y system.namespaces.
El mejor rol de superusuario sería el de root. La sintaxis es:
use admin
db.createUser(
{
user: "root",
pwd: "password",
roles: [ "root" ]
})
Para obtener más detalles, consulte los roles integrados.
Espero que esto ayude !!!
Gestión de usuarios de Mongodb:
lista de roles:
read
readWrite
dbAdmin
userAdmin
clusterAdmin
readAnyDatabase
readWriteAnyDatabase
userAdminAnyDatabase
dbAdminAnyDatabase
crear usuario:
db.createUser(user, writeConcern)
db.createUser({ user: "user",
pwd: "pass",
roles: [
{ role: "read", db: "database" }
]
})
actualizar usuario:
db.updateUser("user",{
roles: [
{ role: "readWrite", db: "database" }
]
})
soltar usuario:
db.removeUser("user")
o
db.dropUser("user")
ver usuarios:
db.getUsers();
más información: https://docs.mongodb.com/manual/reference/security/#read