Come gestire utenti e database
Questa guida spiega come creare utenti MongoDB, dare loro accesso ai database e rinnovarne le password dalla console Hikube.
Prerequisiti
- Un cluster MongoDB nello stato Ready nel suo progetto (si veda l'avvio rapido)
- La shell
mongoshper testare le connessioni
Tutte le operazioni si svolgono dalla pagina del cluster: DB & Messaging → MongoDB → nome del cluster, sezione Users.
La console MongoDB non ha una scheda dedicata ai database: i diritti si definiscono per utente, database per database. Come sempre con MongoDB, un database viene creato fisicamente non appena vi si scrive il primo documento.
Passaggi
1. Creare un utente
- Nella sezione Users, faccia clic su Create a user.
- Inserisca lo Username: minuscole, cifre e trattini, iniziando con una lettera (ad esempio
report-reader). - Definisca almeno un ruolo:
- Global Role (Optional): lasci No global role per limitare l'utente a determinati database;
- Specific Access (Databases): faccia clic su Add, inserisca il Database name (ad esempio
analytics) e scelga i Rights Administrator (Admin) o Read-only.
- Faccia clic su Create user.
Se non è definito alcun ruolo, la console mostra «Please assign at least one role (global or specific) to the user.» e il pulsante resta inattivo.
La schermata «Generated password» mostra la password generata.
Copi subito questa password e la conservi in un luogo sicuro: non verrà più mostrata dopo aver lasciato questa schermata.
Faccia quindi clic su Done.
2. Modificare i diritti di un utente
- Apra il menu Actions dell'utente e scelga Manage Access.
- Aggiunga accessi con Add, modifichi i Rights o rimuova una riga. Deve restare almeno un ruolo.
- Faccia clic su Save.
Il nome utente non può essere modificato.
3. Rinnovare la password di un utente
- Apra il menu Actions dell'utente e scelga Change Password.
- Nella finestra Rotate password, faccia clic su Perform rotation.
- Copi la nuova password, quindi faccia clic su Done.
La rotazione revoca immediatamente la vecchia password. Aggiorni subito le sue applicazioni per evitare un'interruzione.
4. Eliminare un utente
Apra il menu Actions dell'utente, scelga Delete user, inserisca il suo nome esatto, quindi faccia clic su Permanently delete.
5. Testare la connessione
mongosh "mongodb://<host>:27017/analytics" --username report-reader --authenticationDatabase admin
// Deve riuscire
db.runCommand({ connectionStatus: 1 })
db.events.find().limit(1)
// Deve fallire per un utente in sola lettura
db.events.insertOne({ test: true })
Verifica
L'elenco degli utenti mostra, per ciascuno, il suo Role e i Databases accessibili con il relativo diritto (ad esempio analytics (readonly) o analytics (admin)).
Per approfondire
- Concetti MongoDB: ruoli e regole di denominazione
- Modificare le risorse