Come creare un utente e aggiungere un ruolo MongoDB

MongoDB Crea utente amministratore

Creazione di un amministratore utente in MongoDB viene fatto usando il metodo createUser. Il seguente esempio mostra come questo può essere fatto.

db.createUser(
{	user: "Guru99",
	pwd: "password",

	roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})

MongoDB Crea utente amministratore

Spiegazione del codice:

  1. Il primo passo è specificare il “nome utente” e la “password” da creare.
  2. Il secondo passaggio consiste nell'assegnare un ruolo all'utente. Poiché deve essere un amministratore di database, nel qual caso abbiamo assegnato il ruolo "userAdminAnyDatabase". Questo ruolo consente all'utente di avere privilegi amministrativi su tutti i database in MongoDB.
  3. Il parametro db specifica il database di amministrazione che è uno speciale Meta database al suo interno MongoDB che contiene le informazioni per questo utente.

Se il comando viene eseguito correttamente, verrà visualizzato il seguente output:

Produzione:

MongoDB Crea utente amministratore

L'output mostra che è stato creato un utente chiamato "Guru99" e quell'utente ha privilegi su tutti i database in MongoDB.

MongoDB Crea utente per database singolo

Per creare un utente che gestirà un singolo database, possiamo usare lo stesso comando menzionato sopra ma dobbiamo usare solo l'opzione “userAdmin”.

L'esempio seguente mostra come ciò può essere fatto;

MongoDB Crea utente per database singolo

db.createUser(
{
	user: "Employeeadmin",

	pwd: "password",

	roles:[{role: "userAdmin" , db:"Employee"}]})

Spiegazione del codice:

  1. Il primo passo è specificare il “nome utente” e la “password” da creare.
  2. Il secondo passo è assegnare un ruolo all'utente che in questo caso, poiché deve essere un amministratore del database, viene assegnato al ruolo “userAdmin”. Questo ruolo consente all'utente di avere privilegi amministrativi solo per il database specificato nell'opzione db.
  3. Il parametro db specifica il database su cui l'utente deve avere privilegi amministrativi.

Se il comando viene eseguito correttamente, verrà visualizzato il seguente output:

Produzione:

MongoDB Crea utente per database singolo

L'output mostra che è stato creato un utente chiamato "Employeeadmin" e tale utente ha privilegi solo sul database "Employee".

Gestione degli utenti

Per prima cosa comprendi i ruoli che devi definire. C'è un intero elenco di ruoli disponibili in MongoDB. Ad esempio, esiste un "ruolo di lettura" che consente solo l'accesso in sola lettura ai database e poi c'è il ruolo "readwrite" che fornisce accesso in lettura e scrittura al database, il che significa che l'utente può emettere comandi di inserimento, eliminazione e aggiorna i comandi sulle raccolte in quel database.

Gestione degli utenti

db.createUser(
{
	user: "Mohan",

	pwd: "password",

	roles:[
	{
		role: "read" , db:"Marketing"},
    {
		role: "readWrite" , db:"Sales"}
	}
		  ]
})

Il frammento di codice sopra mostra che viene creato un utente chiamato Mohan e gli vengono assegnati più ruoli in più database. Nell'esempio precedente, gli viene concessa l'autorizzazione di sola lettura per il database "Marketing" e l'autorizzazione di lettura e scrittura per il database "Vendite".