MongoDB Sicherheit, Überwachung & Backup (Mongodump)

Inhaltsverzeichnis:

Anonim

Eines der Schlüsselkonzepte in MongoDB ist die Verwaltung von Datenbanken. Wichtige Aspekte wie Sicherheit, Sicherung und Zugriff auf Datenbanken sind wichtige Konzepte für die Datenbankverwaltung.

In diesem Tutorial lernen Sie -

  • Übersicht über die Datenbanksicherheit
  • Sicherungsverfahren - Mongodump
  • Mongodb-Überwachung
  • Indizierungs- und Leistungsüberlegungen

MongoDB-Sicherheitsübersicht

MongoDB kann Sicherheitsmechanismen für Datenbanken definieren. Standardmäßig möchte man nicht, dass jeder einen offenen Zugriff auf jede Datenbank in MongoDB hat. Daher ist die Anforderung eines Sicherheitsmechanismus in MongoDB wichtig.

Im Folgenden finden Sie die Best Practices für die Implementierung der Sicherheit in Datenbanken

  1. Zugriffskontrolle aktivieren - Erstellen Sie Benutzer, damit alle Anwendungen und Benutzer beim Zugriff auf Datenbanken in MongoDB über einen Authentifizierungsmechanismus verfügen.

  2. Konfigurieren der rollenbasierten Zugriffssteuerung - Manchmal kann eine logische Gruppierung von Berechtigungen erforderlich sein, die in Rollen zusammengefasst werden können. Diesen Rollen können dann Benutzer zugewiesen werden.

  3. Versuchen Sie, MongoDB so zu konfigurieren, dass ein Verschlüsselungsprotokoll wie TLS oder SSL verwendet wird. Diese Protokolle können verwendet werden, um den Datenverkehr zu verschlüsseln, der zwischen dem Client und der Mongo DB-Umgebung fließt.

  4. Konfigurieren der Überwachung - Administratoren müssen normalerweise wissen, wer was tut, was später bei der Analyse von Problemen hilfreich ist. Der beste Weg ist, die Überwachung in MongoDB zu aktivieren.

  5. Führen Sie die MongDB-Serverinstanz mit einer separaten Benutzer-ID aus, die Zugriff auf die erforderlichen Ressourcen in der Serverumgebung hat.

Mongodb Backup-Verfahren - Mongodump

Bei der Arbeit mit MongDB ist es wichtig, immer sicherzustellen, dass ein Sicherungsverfahren vorhanden ist, falls die Daten in MongoDB aus irgendeinem Grund beschädigt werden.

Nachfolgend finden Sie die Sicherungsmechanismen, die in MongoDB verfügbar sind

  1. Sichern durch Kopieren der zugrunde liegenden Datendateien - Dies ist wahrscheinlich der einfachste Mechanismus. Sie müssen lediglich die Datendateien kopieren, auf denen sich MongoDB befindet, und sie an einen anderen Speicherort kopieren, der idealerweise ein anderer Server sein sollte.
  2. Sichern einer Datenbank mit mongodump - Das mongodump-Tool liest Daten aus einer MongoDB-Datenbank und erstellt BSON-Dateien mit hoher Wiedergabetreue. Zu berücksichtigen ist, dass Mongodump bei einem großen Datenvolumen sehr ressourcenintensiv sein kann. Um dieses Problem zu beheben, sollte das Dienstprogramm auf einem sekundären Server ausgeführt werden.
  3. MongoDB Cloud Manager-Sicherung - MongoDB Cloud Manager sichert kontinuierlich MongoDB-Replikatsätze und Sharded-Cluster, indem es die Oplog-Daten aus der MongoDB-Umgebung liest. MongoDB Cloud Manager kann eine Wiederherstellung zu einem bestimmten Zeitpunkt erstellen, indem Oplog-Daten gespeichert werden, sodass jederzeit eine Wiederherstellung für einen bestimmten Replikatsatz oder einen bestimmten Sharded-Cluster erstellt werden kann.

Mongodb-Überwachung

Die Überwachung ist eine der wichtigsten Verwaltungsaktivitäten in MongoDB. Dies liegt daran, dass Sie proaktiver vorgehen können, indem Sie die Umgebung auf mögliche Probleme überwachen, die auftreten können.

Im Folgenden finden Sie einige Beispiele für die Implementierung der Überwachung

  1. mongostat zeigt an, wie oft Datenbankoperationen wie Einfügen, Abfragen, Aktualisieren, Löschen usw. tatsächlich auf dem Server ausgeführt werden. Dies gibt eine gute Vorstellung davon, wie viel Last der Server verarbeitet, und gibt an, ob Sie zusätzliche Ressourcen auf dem Server oder möglicherweise zusätzliche Server benötigen, um die Last zu verteilen.
  2. mongotop verfolgt und meldet die aktuelle Lese- und Schreibaktivität einer MongoDB-Instanz und meldet diese Statistiken pro Sammlung.
  3. MongoDB bietet eine Webschnittstelle, die Diagnose- und Überwachungsinformationen auf einer einfachen Webseite bereitstellt. Sie können auf Ihrem lokalen Server zur folgenden URL navigieren, um das Webverwaltungsdienstprogramm http: // localhost: 28017 zu öffnen
  4. Der Befehl serverStatus oder db.serverStatus () aus der Shell gibt eine Übersicht über den Status der Datenbank mit Details zur Festplattennutzung, Speichernutzung, Verbindungen zur MongoDB-Umgebung usw. zurück.

Überlegungen zur MongoDB-Indizierung und -Leistung

  1. Indizes sind in jeder Datenbank sehr wichtig und können verwendet werden, um die Effizienz von Suchanfragen in MongoDB zu verbessern. Wenn Sie in Ihrem Dokument kontinuierlich suchen, ist es besser, Indizes für die Felder des Dokuments hinzuzufügen, die in den Suchkriterien verwendet werden.
  2. Versuchen Sie immer, die Anzahl der zurückgegebenen Abfrageergebnisse zu begrenzen. Angenommen, Sie haben zwei Feldnamen in einem Dokument, möchten aber nur zwei Felder aus dem Dokument anzeigen. Stellen Sie dann sicher, dass Ihre Abfrage nur darauf abzielt, die 2 gewünschten Felder und nicht alle Felder anzuzeigen.
  3. Wenn Sie bestimmte Feldwerte anzeigen möchten, verwenden Sie nur diese Felder in der Abfrage. Fragen Sie nicht alle Felder in der Sammlung ab, wenn sie nicht benötigt werden.

Zusammenfassung:

  • Es ist sehr wichtig, Sicherheit in Datenbanken zu implementieren, um sicherzustellen, dass die Daten in der Datenbank sicher aufbewahrt werden.
  • Benutzer können mit dem Befehl createUser in der Datenbank erstellt werden. Den Benutzern können bestimmte Rollen zugewiesen werden, um ihnen bestimmte Berechtigungen für die Datenbank selbst zu erteilen.
  • Administratoren können für alle Datenbanken hinzugefügt werden, nur für bestimmte Datenbanken. Dies wird erreicht, indem entweder die Rolle userAdmin oder userAdminAnyDatabase zugewiesen wird.
  • Sichern Sie immer Ihre MongoDB-Umgebung, damit die Daten im Katastrophenfall leicht wiederhergestellt werden können.
  • Überwachen Sie Ihre MongoDB-Umgebung immer auf proaktiveres Verhalten und erkennen Sie Probleme, bevor sie auftreten.