MicroStrategy ONE
Konfigurieren Sie SSL für PostgreSQL und Platform Analytics Consumer
Die Kommunikation zwischen dem Platform Analytics-Verbraucher und einer PostgreSQL-Datenbank kann so konfiguriert werden, dass SSL zur Verschlüsselung und Authentifizierung verwendet wird. Weitere Informationen finden Sie im PostgreSQL-Dokumentation.
- Windows
- Linux
Serverseitige Konfiguration von PostgreSQL
Das müssen Sie haben OpenSSL Version 1.1.0 oder höher installiert.
-
Führen Sie die aus
OpenSSL Weisen Sie der Anwendung als Administrator zu, um einen privaten Schlüssel zu generieren. Beim Generieren des privaten Schlüssels müssen Sie eine Passphrase angeben:openssl ist nicht am Anfang jeder Zeile enthalten, da die Befehle mit der OpenSSL-Anwendung ausgeführt werden. Wenn die Zertifikate und Schlüssel auf einem Unix-System generiert werden, müssen Sie möglicherweise einschließen openssl vor jeder Zeile.
Kopierengenrsa -des3 -out server.key 1024
rsa -in server.key -out server.key -
Erstellen Sie das Serverzertifikat:
Um das Serverzertifikat erfolgreich zu erstellen, muss die OpenSSL-Anwendung möglicherweise neu gestartet werden.
-subj ist eine Verknüpfung, um die Eingabeaufforderung zur Eingabe von Informationen zu vermeiden.
-x509 erstellt ein selbstsigniertes Zertifikat und keine Zertifikatsanforderung.
Kopierenreq -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP or HOSTNAME"
-
Öffnen Sie die Eingabeaufforderung oder den Datei-Explorer und navigieren Sie zum Speicherort des Serverzertifikats.
-
Kopieren Sie das neu erstellte Serverzertifikat, um die Zertifizierungsstelle zu erstellen:
Kopierencopy server.crt root.crt
-
Fügen Sie Folgendes hinzu postgres.conf Datei:
Kopierenlisten_addresses = '*' # what IP address(es) to listen on;
Entfernen Sie die Kommentarzeichen und ändern Sie Folgendes:
Kopierenssl = on
ssl_ca_file = '\\LOCATION_OF_FILE\\root.crt'
ssl_cert_file = '\\LOCATION_OF_FILE\\server.crt'
ssl_key_file = '\\LOCATION_OF_FILE\\server.key'
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
ssl_prefer_server_ciphers = on -
Im pg_hba.conf -Datei Folgendes hinzufügen oder ändern:
Möglicherweise müssen Sie Hosteinträge auskommentieren.
hostssl erzwingt SSL für DB_USERNAME.
clientcert=1 erzwingt die Client-Authentifizierung (bidirektionale Authentifizierung).
Kopierenhostssl platform_analytics_wh DB_USERNAME
CLIENT_IP/32 cert clientcert=1 -
Speichern Sie die Änderungen an beiden Dateien.
- Öffnen Start > Services und starten Sie PostgreSQL oder MicroStrategy Repository neu.
Clientseitiges Setup
-
Erstellen Sie den privaten Schlüssel und das Zertifikat:
Kopierengenrsa -des3 -out postgresql.key 1024
rsa -in postgresql.key -out postgresql.key
req -new -key postgresql.key -out postgresql.csr -subj "/CN=DB_USERNAME"
x509 -req -in postgresql.csr -CA root.crt -CAkey server.key -out postgresql.crt -CAcreateserialWenn Sie eine Fehlermeldung erhalten, müssen Sie diese gegebenenfalls auskommentieren tsa_policy1 im openssl.cnf Datei. Speichern Sie und starten Sie OpenSSL als Administrator neu.
Kopieren# Policies used by the TSA examples.
#tsa_policy1 = 1.2.3.4.1
tsa_policy2 = 1.2.3.4.5.6
tsa_policy3 = 1.2.3.4.5.7 -
Konvertieren Sie den privaten Schlüssel mit dem folgenden Befehl in das DER-Format:
Der von Platform Analytics verwendete JDBC-PostgreSQL-Treiber erfordert, dass die Schlüsseldatei im DER-Format und nicht im PEM-Format vorliegt.
Kopierenpkcs8 -topk8 -inform PEM -in postgresql.key -outform
DER -nocrypt -out postgresql.key.der -
Abhängig vom für PostgreSQL verwendeten ODBC-Treiber kann ein Schlüsselspeicher erforderlich sein. So erstellen Sie einen Schlüsselspeicher:
Kopierenpkcs12 -export -in postgresql.crt -inkey
postgresql.key -out postgresql.p12 -
Kopieren Sie die erstellten Dateien auf den Clientcomputer und aktualisieren Sie PAConsumerConfig.yaml -Datei mit dem unten stehenden Pfad zum Zertifikat und Schlüssel.
Der Clientschlüssel liegt im DER-Format vor.
KopierenpgWarehouseDbConnection:
pgWhHost: YOUR_HOST
pgWhUser: DB_USERNAME
pgWhPasswd: YOUR_PASSWORD
pgWhPort: 5432
pgWhDb: platform_analytics_wh
pgWhSSLcert: \LOCATION_OF_FILE\postgresql.crt
pgWhSSLkey: \LOCATION_OF_FILE\postgresql.key.der
pgWhSSLrootcert: \LOCATION_OF_FILE\root.crt
pgWhSSLmode: verify-ca
Serverseitige Konfiguration von PostgreSQL
-
Generieren Sie einen privaten Schlüssel mit OpenSSL. Beim Generieren eines privaten Schlüssels müssen Sie eine Passphrase angeben:
Kopierenopenssl genrsa -des3 -out server.key 1024
-
Entfernen Sie die Passphrase:
Kopierenopenssl rsa -in server.key -out server.key
-
Gewähren Sie Zugriff auf die Schlüsseldatei.
Die Berechtigungen für server.key muss jeglichen Zugriff auf die Welt oder Gruppe deaktivieren. Legen Sie dazu fest chmod Berechtigung für 0600. Alternativ kann der Eigentümer der Datei auch sein Stammverzeichnis und über Gruppenlesezugriff verfügen, d. h. chmod 0640 Berechtigungen. Dieses Setup ist für Installationen vorgesehen, bei denen Zertifikats- und Schlüsseldateien vom Betriebssystem verwaltet werden. Der Benutzer, unter dem der PostgreSQL-Server läuft, sollte dann Mitglied der Gruppe werden, die Zugriff auf diese Zertifikats- und Schlüsseldateien hat.
Ändern Sie die Dateiberechtigungen und den Eigentümer zum Systembenutzer, der PostgreSQL ausführt:
Kopierenchown PSQL_OWNER:PSQL_OWNER server.key
chmod 0600 server.keyWenn Eigentum von Stammverzeichnis:
Kopierenchown root:root server.key
chmod 06040 server.key -
Erstellen Sie das Serverzertifikat und die Zertifizierungsstelle:
-subj ist eine Verknüpfung, um die Eingabeaufforderung für die Informationen zu vermeiden.
-x509 erstellt ein selbstsigniertes Zertifikat und keine Zertifikatsanforderung.
Kopierenopenssl req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP OR HOSTNAME"
cp server.crt root.crt -
Gehen Sie für alle erstellten Zertifikate wie folgt vor:
Kopierenchown PSQL_OWNER:PSQL_OWNER server.crt
chmod 0600 server.crt
chown PSQL_OWNER:PSQL_OWNER root.crt
chmod 0600 root.crt -
Fügen Sie Folgendes hinzu postgres.conf Datei:
Kopierenlisten_addresses = '*' # what IP address(es) to listen on;
Entfernen Sie die Kommentarzeichen und ändern Sie Folgendes:
Kopierenssl = on
ssl_ca_file = '/LOCATION_OF_FILE/root.crt'
ssl_cert_file = '/LOCATION_OF_FILE/server.crt'
ssl_key_file = '/LOCATION_OF_FILE/server.key'
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
ssl_prefer_server_ciphers = on -
Im pg_hba.conf -Datei Folgendes hinzufügen oder ändern:
Möglicherweise müssen Sie Hosteinträge auskommentieren.
hostssl erzwingt SSL für DB_USERNAME.
clientcert=1 erzwingt die Client-Authentifizierung (bidirektionale Authentifizierung).
Kopierenhostssl platform_analytics_wh DB_USERNAME CLIENT_IP/32 cert clientcert=1
-
Starten Sie PostgreSQL oder MicroStrategy Repository neu.
Wenn PostgreSQL außerhalb von MicroStrategy installiert wurde, verwenden Sie einen Befehl wie den folgenden:
Kopierensystemctl restart postgresql-11
Wenn MicroStrategy Repository für Platform Analytics verwendet wird, verwenden Sie den folgenden Befehl:
Dieser Befehl kann nicht ausgeführt werden als Stammverzeichnis.
Kopierencd /opt/MicroStrategy/PlatformAnalytics/bin
./mstr_pg_ctl restart
Clientseitiges Setup
-
Erstellen Sie den privaten Schlüssel und das Zertifikat:
Kopierenopenssl genrsa -des3 -out postgresql.key 1024
openssl rsa -in postgresql.key -out postgresql.key
openssl req -new -key postgresql.key -out postgresql.csr -subj "/CN=DB_USERNAME"
openssl x509 -req -in postgresql.csr -CA root.crt -CAkey server.key -out postgresql.crt -CAcreateserial -
Konvertieren Sie den privaten Schlüssel mit dem folgenden Befehl in das DER-Format:
Der von Platform Analytics verwendete JDBC-PostgreSQL-Treiber erfordert, dass die Schlüsseldatei im DER-Format und nicht im PEM-Format vorliegt.
Kopierenopenss1 pkcs8 -topk8 -inform PEM -in postgresql.key -outform DER -nocrypt -out postgresql.key.der
-
Abhängig vom für PostgreSQL verwendeten ODBC-Treiber kann ein Schlüsselspeicher erforderlich sein. So erstellen Sie einen Schlüsselspeicher:
Kopierenopenss1 pkcs12 -export -in postgresql.crt -inkey postgresql.key -out postgresql.p12
-
Kopieren Sie die erstellten Dateien auf den Clientcomputer und aktualisieren Sie PAConsumerConfig.yaml -Datei mit dem unten stehenden Pfad zum Zertifikat und Schlüssel.
Der Clientschlüssel liegt im DER-Format vor.
KopierenpgWarehouseDbConnection:
pgWhHost: YOUR_HOST
pgWhUser: DB_USERNAME
pgWhPasswd: YOUR_PASSWORD
pgWhPort: 5432
pgWhDb: platform_analytics_wh
pgWhSSLcert: /LOCATION_OF_FILE/postgresql.crt
pgWhSSLkey: /LOCATION_OF_FILE/postgresql.key.der
pgWhSSLrootcert: /LOCATION_OF_FILE/root.crt
pgWhSSLmode: verify-ca