Hi
We have a MongoDB Community edition server installed on Redhat with authentication active. This server is intended to be used by a large group of students (up to 1000 students) to introduce basic CRUD operations. What I would like to do is have each student allocated their own database in which they can play around/test ideas etc and ultimately complete some basic NoSQL assignment tasks.
I am not clear how this should be configured, do we create all users in the admin database and then give them db privileges in their database (going to create a database for each student based on their login name) or create the users in their database only. I need to allow them to change their password so will also be adding a role for changeOwnPassword. Can I create this role once in admin and grant the role to each student. At the moment I am doing it in each individual database similar to:
use('stuid');
db.createRole(
{ role: "changeOwnPasswordRole",
privileges: [
{
resource: { db: "stuid", collection: ""},
actions: [ "changeOwnPassword"]
}
],
roles: []
}
);
db.createUser(
{
user: "stuid",
pwd: "somepwd",
roles:[ "readWrite", { role:"changeOwnPasswordRole", db:"stuid" } ]
}
);
Any advice/guidance would be appreciated.
Lindsay.