Implementare l’autenticazione e l’autorizzazione in MongoDB prevede diversi step essenziali ed è una pratica di sicurezza fondamentale per proteggere i tuoi dati. In generale, devi configurare MongoDB per richiedere l’autenticazione, creare utenti con ruoli di accesso appropriati e connetterti a MongoDB con questi utenti per poter accedere ai dati.
Passaggi di base:
1.Preparare la configurazione di MongoDB:
- Tutte le configurazioni possono essere scritte nel file /etc/mongod.conf.
- Aggiungere l’opzione di sicurezza e la sottodirettiva authorization e impostarla su ‘enabled’.
Esempio:
security: authorization: ‘enabled’
2.Riavvia il servizio MongoDB.
- In Linux, esegui ‘sudo systemctl restart mongod’.
- In Windows, riavvia il servizio MongoDB attraverso il gestore servizi.
3.Accedi a MongoDB senza autenticazione (per la prima volta):
- Utilizza il comando ‘mongo’ per accedere al terminale MongoDB.
4.Crea un utente nel database admin:
- È consigliabile creare un utente con ruolo di “utenteAdmin” o “utenteAdminAnyDatabase” nel database admin per la gestione degli utenti.
- Questo può essere fatto utilizzando il metodo db.createUser().
Esempio:
db.createUser(
{
user: “myUserAdmin”,
pwd: passwordPrompt(), // chiede la password allo script di shell interattivo
roles: [ { role: “userAdminAnyDatabase”, db: “admin” }, “readWriteAnyDatabase” ]
}
)
Una volta completati questi step, hai garantito un livello fondamentale di sicurezza per il tuo database MongoDB. Tutte le connessioni richiederanno un nome utente e una password, e l’utente potrà eseguire solo le operazioni per le quali ha autorizzazione.
Ricorda che l’autorizzazione e l’autenticazione sono settori complessi della sicurezza dei database e che quest’ultima potrebbe richiedere ulteriori misure di protezione, come l’uso di connessioni criptate SSL/TLS. La documentazione ufficiale di MongoDB è una risorsa preziosa per comprenderne la configurazione.