MongoDB über SSH-Tunnel verbinden
Um Ihre MongoDB -Datenbank über einen SSH-Tunnel mit Commerce Intelligence zu verbinden, müssen Sie einige Schritte unternehmen:
- Abrufen des öffentlichen Schlüssels Commerce Intelligence
- Zugriff auf die Commerce Intelligence IP-Adresse zulassen
- Linux-Benutzer für Commerce Intelligence erstellen
- Erstellen eines MongoDB Benutzers für Commerce Intelligence
- Geben Sie die Verbindung und Benutzerinformationen in Commerce Intelligence ein.
Abrufen des öffentlichen Schlüssels Commerce Intelligence retrieve
Der public key
wird verwendet, um den Commerce Intelligence Linux
Benutzer zu autorisieren. Der nächste Abschnitt erläutert Ihnen schrittweise, wie Sie den Benutzer erstellen und die Schlüssel importieren können.
- Gehen Sie zu Data > Connections und klicken Sie auf Add New Data Source.
- Klicken Sie auf das Symbol "MONGODB".
- Nachdem die Seite mit den Anmeldedaten für MongoDB geöffnet wurde, ändern Sie den Umschalter für
Encrypted
inYes
. Dadurch wird das SSH-Setup-Formular angezeigt. - Die
public key
befindet sich unter diesem Formular.
Lassen Sie diese Seite während des Tutorials geöffnet - Sie benötigen sie im nächsten Abschnitt und am Ende.
Wenn Sie etwas verloren haben, können Sie hier durch Commerce Intelligence navigieren, um den Schlüssel abzurufen:
Zugriff auf die Commerce Intelligence -IP-Adresse zulassen allowlist
Damit die Verbindung erfolgreich hergestellt werden kann, müssen Sie Ihre Firewall so konfigurieren, dass der Zugriff von Ihren IP-Adressen aus gestattet wird. Sie sind 54.88.76.97
und 34.250.211.151
, befinden sich aber auch auf der Seite mit den Anmeldedaten für MongoDB:
Erstellen eines Linux
Benutzers für Commerce Intelligence linux
sshd_config
-Datei nicht auf die Standardoption festgelegt ist, haben nur bestimmte Benutzer Zugriff auf den Server. Dies verhindert eine erfolgreiche Verbindung zu Commerce Intelligence. In diesen Fällen ist es erforderlich, einen Befehl wie AllowUsers
auszuführen, um dem rjmetric
-Benutzer Zugriff auf den Server zu gewähren.Dabei kann es sich um eine Produktions- oder Sekundärmaschine handeln, sofern diese Daten in Echtzeit (oder häufig aktualisiert) enthält. Sie können diesen Benutzer beliebig einschränken, solange er das Recht behält, eine Verbindung zum MongoDB -Server herzustellen.
Um den neuen Benutzer hinzuzufügen, führen Sie die folgenden Befehle als Stamm auf Ihrem Linux
-Server aus:
adduser rjmetric -p
mkdir /home/rjmetric
mkdir /home/rjmetric/.ssh
Erinnern Sie sich an die public key
, die Sie im ersten Abschnitt abgerufen haben? Um sicherzustellen, dass der Benutzer Zugriff auf die Datenbank hat, müssen Sie den Schlüssel in authorized_keys
importieren. Kopieren Sie den gesamten Schlüssel wie folgt in die Datei authorized_keys
:
touch /home/rjmetric/.ssh/authorized_keys
"< PASTE KEY HERE >" >> /home/rjmetric/.ssh/authorized_keys
Um die Erstellung des Benutzers abzuschließen, ändern Sie die Berechtigungen für den Ordner /home/rjmetric , um den Zugriff über SSH zuzulassen:
chown -R rjmetric:rjmetric /home/rjmetric
chmod -R 700 /home/rjmetric/.ssh
Erstellen eines Commerce Intelligence MongoDB Benutzers mongodb
MongoDB -Server haben zwei Ausführungsmodi: einer mit der Option "auth" (mongod -- auth)
und einer ohne, der Standardmodus. Die Schritte zum Erstellen eines MongoDB -Benutzers hängen davon ab, welchen Modus Ihr Server verwendet. Überprüfen Sie den Modus, bevor Sie fortfahren.
Wenn Ihr Server die Option Auth
verwendet: auth
Wenn Sie eine Verbindung zu mehreren Datenbanken herstellen, können Sie den Benutzer hinzufügen, indem Sie sich bei MongoDB als Administrator anmelden und die folgenden Befehle ausführen.
listDatabases.
Mit diesem Befehl wird dem Commerce Intelligence -Benutzer Zugriff auf to all databases
gewährt:
use admin
db.createUser('rjmetric', '< secure password here >', true)
Verwenden Sie diesen Befehl, um den Commerce Intelligence Benutzerzugriff to a single database
zu gewähren:
use < database name >
db.createUser('rjmetric', '< secure password here >', true)
Dadurch wird eine Antwort wie die folgende ausgegeben:
{
"id": ObjectId("< some object id here >"),
"user": "rjmetric",
"readOnly": true,
"pwd": "< some hash here >"
}
Wenn Ihr Server die Standardoption verwendet default
Wenn Ihr Server den Modus auth
nicht verwendet, ist Ihr MongoDB -Server auch ohne Benutzernamen und Kennwort zugänglich. Sie sollten jedoch sicherstellen, dass die mongodb.conf
-Datei (/etc/mongodb.conf)
die folgenden Zeilen enthält. Wenn nicht, starten Sie Ihren Server neu, nachdem Sie sie hinzugefügt haben.
bind_ip = 127.0.0.1
noauth = true
Um Ihren MongoDB -Server an eine andere Adresse zu binden, passen Sie den Datenbank-Hostnamen im nächsten Schritt entsprechend an.
Eingabe der Verbindung und Benutzerinformationen in Commerce Intelligence finish
Um Elemente einzuschließen, müssen Sie die Verbindung und Benutzerinformationen in Commerce Intelligence eingeben. Haben Sie die Seite mit den Anmeldedaten für MongoDB geöffnet gelassen? Wenn nicht, gehen Sie zu Data > Connections und klicken Sie auf Add New Data Source, dann auf das Symbol MongoDB. Vergessen Sie nicht, den Umschalter Encrypted
auf Yes
zu ändern.
Geben Sie die folgenden Informationen in diese Seite ein, beginnend mit dem Abschnitt Database Connection
:
Host
:127.0.0.1
Username
: Der Benutzername Commerce Intelligence MongoDB (sollterjmetric
sein)Password
: Das Kennwort Commerce Intelligence MongoDBPort
: MongoDB-Anschluss auf Ihrem Server (standardmäßig27017
)Database Name
(Optional): Wenn Sie nur den Zugriff auf eine Datenbank zugelassen haben, geben Sie hier den Namen dieser Datenbank an.
Unter dem Abschnitt SSH Connection
:
Remote Address
: Die IP-Adresse oder der Hostname des Servers, in den Sie SSH durchführen werdenUsername
: Der Benutzername für Commerce Intelligence Linux (SSH) (sollte rjmetric sein)SSH Port
: Der SSH-Port auf Ihrem Server (standardmäßig 22)
Wenn Sie fertig sind, klicken Sie auf Save Test , um das Setup abzuschließen.