MongoDB Sicurezza, monitoraggio e amp; Backup (Mongodump)

Sommario:

Anonim

Uno dei concetti chiave in MongoDB è la gestione dei database. Aspetti importanti come la sicurezza, il backup, l'accesso ai database sono tutti concetti importanti quando si tratta di amministrazione del database.

In questo tutorial imparerai:

  • Panoramica sulla sicurezza del database
  • Procedure di backup - mongodump
  • Monitoraggio Mongodb
  • Indicizzazione e considerazioni sulle prestazioni

Panoramica sulla sicurezza di MongoDB

MongoDB ha la capacità di definire meccanismi di sicurezza per i database. Per impostazione predefinita, non si vorrebbe che tutti abbiano un accesso aperto a tutti i database in MongoDB, quindi il requisito per avere una sorta di meccanismo di sicurezza in MongoDB è importante.

Di seguito sono riportate le migliori pratiche per l'implementazione della protezione nei database

  1. Abilita il controllo degli accessi: crea utenti in modo che tutte le applicazioni e gli utenti abbiano una sorta di meccanismo di autenticazione quando accedono ai database su MongoDB.

  2. Configurare il controllo degli accessi basato sui ruoli: a volte può essere necessario un raggruppamento logico di autorizzazioni che possono essere raggruppate in ruoli. Gli utenti possono quindi essere assegnati a questi ruoli.

  3. Prova a configurare MongoDB per utilizzare una sorta di protocollo di crittografia come TLS o SSL. Questi protocolli possono essere utilizzati per crittografare il traffico che scorre tra il client e l'ambiente mongo DB.

  4. Configurare il controllo: gli amministratori normalmente devono sapere chi sta facendo cosa, il che aiuta ad analizzare i problemi in seguito. Il modo migliore è abilitare l'auditing in MongoDB.

  5. Esegui l'istanza del server MongDB con un ID utente separato che ha accesso alle risorse richieste nell'ambiente del server.

Procedure di backup di Mongodb - mongodump

Quando si lavora con MongDB è importante assicurarsi sempre che sia in atto una procedura di backup nel caso in cui i dati all'interno di MongoDB vengano danneggiati per qualsiasi motivo.

Di seguito sono riportati i meccanismi di backup disponibili all'interno di MongoDB

  1. Backup copiando i file di dati sottostanti - Questo è probabilmente il meccanismo più semplice, tutto ciò che deve essere fatto è copiare i file di dati su cui risiede MongoDB e copiarli in un'altra posizione che idealmente dovrebbe essere un altro server.
  2. Backup di un database con mongodump : lo strumento mongodump legge i dati da un database MongoDB e crea file BSON ad alta fedeltà. Ciò che deve essere preso in considerazione è che se il set di dati è di grandi dimensioni, allora mongodump può essere molto dispendioso in termini di risorse, quindi per mitigare questo problema, l'utilità dovrebbe essere eseguita su un server secondario.
  3. MongoDB Cloud Manager Backup : MongoDB Cloud Manager esegue continuamente il backup dei set di repliche MongoDB e dei cluster frammentati leggendo i dati oplog dall'ambiente MongoDB. MongoDB Cloud Manager può creare un ripristino temporizzato archiviando i dati di oplog in modo che possa creare un ripristino in qualsiasi momento per un particolare set di repliche o cluster frammentato.

Monitoraggio Mongodb

Il monitoraggio è una delle attività amministrative più critiche in MongoDB. Questo perché puoi essere più proattivo monitorando l'ambiente per possibili problemi che potrebbero sorgere.

Di seguito sono riportati alcuni esempi per l'implementazione del monitoraggio

  1. mongostat ti dirà quante volte le operazioni del database come inserimento, query, aggiornamento, eliminazione, ecc. si verificano effettivamente sul server. Ciò darà una buona idea di quanto il carico sta gestendo il server e indicherà se sono necessarie risorse aggiuntive sul server o forse server aggiuntivi per distribuire il carico.
  2. mongotop tiene traccia e segnala l'attuale attività di lettura e scrittura di un'istanza MongoDB e riporta queste statistiche in base alla raccolta.
  3. MongoDB fornisce un'interfaccia web che espone le informazioni di diagnostica e monitoraggio in una semplice pagina web. È possibile accedere all'URL seguente sul server locale per aprire l'utilità di amministrazione Web http: // localhost: 28017
  4. Il comando serverStatus, o db.serverStatus () dalla shell, restituisce una panoramica dello stato del database, con dettagli sull'utilizzo del disco, l'uso della memoria, le connessioni stabilite all'ambiente MongoDB, ecc.

Indicizzazione di MongoDB e considerazioni sulle prestazioni

  1. Gli indici sono molto importanti in qualsiasi database e possono essere utilizzati per migliorare l'efficienza delle query di ricerca in MongoDB. Se si eseguono continuamente ricerche nel documento, è meglio aggiungere indici nei campi del documento utilizzati nei criteri di ricerca.
  2. Prova a limitare sempre il numero di risultati della query restituiti. Supponiamo di avere 2 nomi di campo in un documento, ma di voler vedere solo 2 campi dal documento. Quindi assicurati che la tua query miri a visualizzare solo i 2 campi richiesti e non tutti i campi.
  3. Se desideri visualizzare determinati valori di campo, utilizza solo quei campi nella query. Non eseguire query per tutti i campi della raccolta se non sono obbligatori.

Sommario:

  • È molto importante implementare la sicurezza nei database per garantire che i dati nel database siano tenuti al sicuro.
  • Gli utenti possono essere creati nel database con il comando createUser. È possibile assegnare ruoli specifici agli utenti per fornire loro autorizzazioni specifiche sul database stesso.
  • Gli amministratori possono essere aggiunti per tutti i database solo per database specifici. Ciò si ottiene assegnando il ruolo userAdmin o userAdminAnyDatabase.
  • Effettua sempre il backup del tuo ambiente MongoDB in modo che, in caso di disastro, i dati siano facilmente recuperabili.
  • Monitora sempre il tuo ambiente MongoDB per essere più proattivo e vedere i problemi prima che si verifichino.