MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

crea database sicuro in mongodb

Da Mongo Java Tutorial

MongoDB può essere eseguito in una modalità sicura in cui l'accesso ai database è controllato tramite l'autenticazione di nome e password. Quando viene eseguita in questa modalità, qualsiasi applicazione client deve fornire un nome e una password prima di eseguire qualsiasi operazione. Nel driver Java, fai semplicemente quanto segue con l'oggetto mongo connesso:

boolean auth = db.authenticate(myUserName, myPassword);

Se il nome e la password sono validi per il database, auth sarà true. Altrimenti, sarà falso. Dovresti guardare il registro di MongoDB per ulteriori informazioni, se disponibili.

La maggior parte degli utenti esegue MongoDB senza autenticazione in un ambiente affidabile.

Configurazione dell'autenticazione e della sicurezza

L'autenticazione è archiviata nella raccolta system.users di ogni database. Ad esempio, su un database projectx, projectx.system.users conterrà le informazioni sull'utente.

Dovremmo prima configurare un utente amministratore per l'intero processo del server db. Questo utente è archiviato nel database di amministrazione speciale.

Se nessun utente è configurato in admin.system.users, è possibile accedere al database dall'interfaccia localhost senza autenticarsi. Quindi, dal server che esegue il database (e quindi su localhost), esegui la shell del database e configura un utente amministrativo:

$ ./mongo
> use admin
> db.addUser("theadmin", "anadminpassword")

Ora abbiamo un utente creato per l'amministratore del database. Nota che se non ci siamo autenticati in precedenza, ora dobbiamo se desideriamo eseguire ulteriori operazioni, poiché c'è un utente in admin.system.users.

> db.auth("theadmin", "anadminpassword")

Possiamo visualizzare gli utenti esistenti per il database con il comando:

> db.system.users.find()

Ora configuriamo un utente "normale" per un altro database.

> use projectx
> db.addUser("joe", "passwordForJoe")

Infine, aggiungiamo un utente di sola lettura. (supportato solo in 1.3.2+)

> use projectx
> db.addUser("guest", "passwordForGuest", true)