Zum Absichern der Datenbank kann ein Passwort vergeben werden, mit folgender Anleitung:
Administrator Account erstellen
Dafür in die mongos Shell und Admin Datenbank wechseln
mongosh
use admin
Admin User anlegen
db.createUser(
{
user: "mongoAdminUser",
pwd: "<passwort>",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Fügen Sie anschließend die benötigte Rolle hinzu, um den ReplicaSet-Status einsehen zu können:
db.grantRolesToUser(
"mongoAdminUser",
[
{ role: "clusterMonitor", db: "admin" }
]
)
Die Mongo Konfiguration anpassen
Öffnen Sie die Konfigurationsdatei:
nano etc/mongod.conf
Aktivieren Sie die Authentifizierung, indem Sie folgenden Abschnitt ergänzen oder anpassen:
security:
authorization: "enabled"
Service neu starten:
sudo service mongodb restart
Erneut in die Mongo Shell wechseln
mongosh 'mongodb://mongoAdminUser:<passwort>@<ip>:27017/admin?authSource=admin&replicaSet=rs0'
Nutzer für die Enginsight Datenbank anlegen
Wechseln Sie zunächst in die Enginsight-Datenbank
use enginsight
Erstellen Sie anschließend den Benutzer
db.createUser(
{
user: "mongoDefaultUser",
pwd: "<passwort>",
roles: [ { role: "readWrite", db: "enginsight" } ]
}
)
Beim Ausführen der ./setup.sh auf dem AppServer muss nun für die Mongo Connection folgender String genutzt werden
mongodb://User:Passwort@<ip>:27017/enginsight?authSource=enginsight&replicaSet=rs0