MicroStrategy ONE
Konfigurieren Sie SSL für PostgreSQL und Platform Analytics Consumer
Die Kommunikation zwischen dem Platform Analytics-Konsumenten und einer PostgreSQL-Datenbank kann für die Verwendung von SSL zur Verschlüsselung und Authentifizierung konfiguriert werden. Weitere Informationen finden Sie im PostgreSQL-Dokumentation.
- Windows
- Linux
Servermäßige PostgreSQL-Konfiguration
Das müssen Sie haben OpenSLS Version 1.1.0 oder höher installiert.
-
Führen Sie den aus
OpenSLS Sie können die Anwendung als Administrator verwenden, 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 OpenSLS-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:
Die OpenSLS-Anwendung muss möglicherweise neu gestartet werden, um das Serverzertifikat erfolgreich zu erstellen.
-subj ist eine Verknüpfung, um Eingabeaufforderungen zur Eingabe von Informationen zu vermeiden.
-x509 erstellt ein selbst unterzeichnetes Zertifikat anstelle einer 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 Serverzertifikat.
-
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 das Kommentarfeld 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 hinzufügen oder ändern:
Möglicherweise müssen Sie Host-Einträge auskommentieren.
hostssl erzwingt SSL für DB_USERNAME.
clientcert=1 erzwingt die Client-Authentifizierung (bidirektuelle Authentifizierung).
Kopierenhostssl platform_analytics_wh DB_USERNAME
CLIENT_IP/32 cert clientcert=1 -
Speichern Sie die Änderungen an beiden Dateien.
- Öffnen Starten > Dienste and restart PostgreSQL or MicroStrategy Repository.
Client-Seiten-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 möglicherweise auskommentieren tsa_policy1 im openssl.cnf Datei. Speichern 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 statt im PEM-Format vorliegen.
Kopierenpkcs8 -topk8 -inform PEM -in postgresql.key -outform
DER -nocrypt -out postgresql.key.der -
Abhängig vom ODBC-Treiber, der für PostgreSQL verwendet wird, ist möglicherweise eine Schlüsselspeicherung erforderlich. So erstellen Sie einen Schlüsselspeicher:
Kopierenpkcs12 -export -in postgresql.crt -inkey
postgresql.key -out postgresql.p12 -
Kopieren Sie die Dateien, die erstellt wurden, auf den Client-Computer und aktualisieren Sie PAConsumerConfig.yaml Datei mit dem unten stehenden Pfad zum Zertifikat und Schlüssel.
Der Client-Schlüssel befindet sich in DER Format.
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
Servermäßige PostgreSQL-Konfiguration
-
Generieren Sie einen privaten Schlüssel mit OpenSLS. Sie müssen beim Generieren eines privaten Schlüssels 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. Tun Sie dies, indem Sie den festlegen chmod Berechtigung zu 0600. Alternativ kann die Datei auch Eigentum von sein root und über Gruppenlesezugriff verfügen, d. h., chmod 0640 Berechtigungen. Dieses Setup ist für Installationen gedacht, bei denen Zertifikat- und Schlüsseldateien vom Betriebssystem verwaltet werden. Der Benutzer, unter dem der PostgreSQL-Server ausgeführt wird, sollte dann zu einem Mitglied der Gruppe gemacht werden, die Zugriff auf diese Zertifikat- und Schlüsseldateien hat.
Ändern Sie die Dateiberechtigungen und den Eigentümer in den Systembenutzer, der PostgreSQL ausführt:
Kopierenchown PSQL_OWNER:PSQL_OWNER server.key
chmod 0600 server.keyWenn es sich im Eigentum von befindet root:
Kopierenchown root:root server.key
chmod 06040 server.key -
Erstellen Sie das Serverzertifikat und die Zertifizierungsstelle:
-subj ist eine Verknüpfung, um eine Eingabeaufforderung zur Eingabe dieser Informationen zu vermeiden.
-x509 erstellt ein selbst unterzeichnetes Zertifikat anstelle einer Zertifikatsanforderung.
Kopierenopenssl req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP OR HOSTNAME"
cp server.crt root.crt -
Führen Sie die folgenden Schritte für alle erstellten Zertifikate durch:
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 das Kommentarfeld 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 hinzufügen oder ändern:
Möglicherweise müssen Sie Host-Einträge auskommentieren.
hostssl erzwingt SSL für DB_USERNAME.
clientcert=1 erzwingt die Client-Authentifizierung (bidirektuelle Authentifizierung).
Kopierenhostssl platform_analytics_wh DB_USERNAME CLIENT_IP/32 cert clientcert=1
-
PostgreSQL oder MicroStrategy Repository neu starten.
Wenn PostgreSQL außerhalb von MicroStrategy installiert wurde, verwenden Sie einen Befehl wie den folgenden:
Kopierensystemctl restart postgresql-11
Wenn MicroStrategy Repository for Platform Analytics verwendet wird, verwenden Sie den folgenden Befehl:
Dieser Befehl kann nicht als ausgeführt werden root.
Kopierencd /opt/MicroStrategy/PlatformAnalytics/bin
./mstr_pg_ctl restart
Client-Seiten-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 statt im PEM-Format vorliegen.
Kopierenopenss1 pkcs8 -topk8 -inform PEM -in postgresql.key -outform DER -nocrypt -out postgresql.key.der
-
Abhängig vom ODBC-Treiber, der für PostgreSQL verwendet wird, ist möglicherweise eine Schlüsselspeicherung erforderlich. So erstellen Sie einen Schlüsselspeicher:
Kopierenopenss1 pkcs12 -export -in postgresql.crt -inkey postgresql.key -out postgresql.p12
-
Kopieren Sie die Dateien, die erstellt wurden, auf den Client-Computer und aktualisieren Sie PAConsumerConfig.yaml Datei mit dem unten stehenden Pfad zum Zertifikat und Schlüssel.
Der Client-Schlüssel befindet sich in DER Format.
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