Create User in MongoDB: come aggiungere nuovi utenti

Con la funzione di MongoDB Create User potete aggiungere nuovi utenti a un database e assegnare loro dei ruoli. Questo metodo funziona anche per profili con permessi da amministratore. Se invece desiderate cancellare un utente dovete usare il comando di MongoDB Drop User.

Che cos’è Create User in MongoDB?

Il database NoSQL MongoDB non costituisce solamente una buona soluzione per l’archiviazione e la gestione dei vostri dati. Infatti, il sistema di gestione di base di dati risulta adatto anche al lavoro condiviso di team di piccole e grandi dimensioni. Create autonomamente nuovi utenti e assegnate loro specifici permessi per poter tenere sempre sotto controllo chi ha accesso ai vostri dati. Il comando corrispondente tra i comandi di MongoDB si chiama Create User. Oltre a poter aggiungere nuovi utenti vi consente anche di assegnare loro uno o più ruoli. Inoltre, potete impostare anche una password.

La sintassi di Create User in MongoDB

La sintassi di base del comando di MongoDB Create User si presenta così:

db.createUser (user, writeConcern)

Oltre all’effettivo comando createUser trovate anche altre due informazioni: “user” è obbligatorio e indica il documento contenente l’autenticazione del nuovo utente e tutte le altre informazioni generali; “writeConcern”, invece, è opzionale e serve a indicare il livello di autorizzazione.

L’utente e i suoi parametri

Il documento “user” in MongoDB va sempre inserito con il comando “Create User” e contiene diversi parametri importanti:

  • user: questa stringa contiene il nome del nuovo utente ed è opzionale.
  • pwd: con “pwd” in Create User stabilite una password per la nuova persona. Questa informazione è sempre richiesta, tranne quando utilizzate il comando su un database esterno.
  • customData: questo documento è opzionale e può contenere tutte le informazioni aggiuntive desiderate che riguardano un utente. Ad esempio, al suo interno potete indicare il vero nome e cognome dell’utente.
  • roles: qui assegnate a un utente dei ruoli predefiniti o personalizzati. Le informazioni vengono generate in un array. Lasciando questo campo vuoto, all’utente non viene assegnato alcun ruolo.

Il documento “user” appare così:

{
user: "<nomeutente>",</nomeutente>
pwd: "<password>",</password>
customData: { <nomereale, id=""> },</nomereale,>
roles: [ { role: "<ruolo>", db: "<database>" } ]</database></ruolo>
}

Se usando Create User in MongoDB provate a riutilizzare un nome utente già esistente, riceverete un messaggio di errore. In questo modo viene impedita la creazione di doppioni. Per visualizzare tutti gli utenti di un database in MongoDB utilizzate Show Users oppure db.getUsers ().

Assegnare ruoli con Create User in MongoDB

Di norma è consigliabile assegnare differenti ruoli agli utenti sin dall’inizio. In questo modo potrete lavorare in team in maniera più efficiente e, allo stesso tempo, proteggete i dati sensibili da accessi indesiderati. Se desiderate assegnare dei ruoli, potete farlo creando il nome del ruolo all’interno del medesimo database. In alternativa, potete creare un documento che definisce i ruoli che utilizzate già in un altro database. Per assegnare a un utente più ruoli con Create User in MongoDB il comando è il seguente:

use esempio
db.createUser(
{
user: "username",
pwd: "password",
roles: [ "read", "dbAdmin" ]
}
);

In questo esempio abbiamo assegnato al nuovo utente i ruoli “read” e “dbAdmin”.

Create User in MongoDB senza assegnare ruoli

Potete anche non assegnare alcun ruolo a un utente. Ciononostante, con Create User dovete specificarlo chiaramente. In questo caso il comando è il seguente:

use esempio
db.createUser(
{
user: "username",
pwd: "password",
roles: [ ]
}
);

Lasciando vuoto lo spazio tra le parentesi, all’utente non viene assegnato alcun ruolo.

Create User in MongoDB per gli amministratori

Il comando di MongoDB Create User vi consente anche di creare degli utenti con mansioni amministrative. Questi utenti ottengono anche accesso alla configurazione del vostro database. Il procedimento assomiglia al codice già noto:

use admin
db.createUser(
{
user: "secondo_amministratore",
pwd: "password_amministratore",
roles: [ { role: "readWrite", db: "config" },
"clusterAdmin"
]
}
);

Eliminare un utente con Drop User in MongoDB

In qualsiasi momento avete anche la facoltà di eliminare un utente. Il comando necessario si chiama Drop User e il modo in cui viene costruito assomiglia a quello di Create User. La sintassi da usare è la seguente:

db.dropUser (username, writeConcern)

Di fatto dovete soltanto indicare il nome dell’utente:

use esempio
db.dropUser ("username")

Prima di cancellare un utente con permessi da amministratore, dovreste innanzitutto assicurarvi che vi sia almeno un’altra figura in possesso delle autorizzazioni necessarie.

Consiglio

Desiderate saperne di più sull’impiego del sistema di gestione di base di dati MongoDB? Allora vi consigliamo di leggere gli altri articoli della Digital Guide su questo argomento:
- MongoDB Create Collection
- MongoDB Create Database
- MongoDB Create Index

Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.