MicroStrategy ONE
Configurare SSL per Consumer PostgreSQL e Platform Analytics
La comunicazione tra il consumer di Platform Analytics e un database PostgreSQL può essere configurata per l'utilizzo di SSL per la crittografia e l'autenticazione. Per ulteriori informazioni, consultare il Documentazione PostgreSQL.
- Windows
- Linux
Configurazione lato server PostgreSQL
Indispensabile OpenSSL versione 1.1.0 o successiva installata.
-
Esegui
OpenSSL application come amministratore per generare una chiave privata. È necessario fornire una passphrase durante la generazione della chiave privata:openssl non è incluso all'inizio di ogni riga perché i comandi sono in esecuzione con l'applicazione OpenSSL. Se i certificati e le chiavi sono in corso di generazione in un sistema Unix, potrebbe essere necessario includere openssl prima di ogni riga
Copiagenrsa -des3 -out server.key 1024
rsa -in server.key -out server.key -
Crea il certificato del server:
Potrebbe essere necessario riavviare l’applicazione OpenSSL per creare correttamente il certificato del server.
-subj è una scelta rapida per evitare di richiedere informazioni.
-x509 produce un certificato autofirmato anziché una richiesta di certificato.
Copiareq -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP or HOSTNAME"
-
Aprire il Prompt dei comandi o Esplora file e individuare la posizione in cui si trova il certificato del server.
-
Copiare il certificato del server appena creato per creare l'autorità di certificazione:
Copiacopy server.crt root.crt
-
Aggiungere quanto segue a postgres.conf file:
Copialisten_addresses = '*' # what IP address(es) to listen on;
Elimina il commento e modifica quanto segue:
Copiassl = 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 -
Nel pg_hba.conf file, aggiungere o modificare quanto segue:
Potrebbe essere necessario aggiungere un commento alle voci dell'host.
hostssl applica SSL per DB_USERNAME.
clientcert=1 applica l'autenticazione client (autenticazione bidirezionale).
Copiahostssl platform_analytics_wh DB_USERNAME
CLIENT_IP/32 cert clientcert=1 -
Salvare le modifiche in entrambi i file.
- Apri Avvia > Servizi e riavviare PostgreSQL o MicroStrategy Repository.
Configurazione lato client
-
Creare la chiave privata e il certificato:
Copiagenrsa -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 -CAcreateserialSe si riceve un messaggio di errore, potrebbe essere necessario aggiungere un commento tsa_policy1 nel openssl.cnf file. Salva e riavvia openssl come amministratore.
Copia# 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 -
Convertire la chiave privata nel formato DER utilizzando il comando seguente:
Il driver JDBC PostgreSQL utilizzato da Platform Analytics richiede che il file di chiave sia in formato DER anziché PEM.
Copiapkcs8 -topk8 -inform PEM -in postgresql.key -outform
DER -nocrypt -out postgresql.key.der -
A seconda del driver ODBC utilizzato per PostgreSQL, potrebbe essere necessario un archivio chiavi. Per creare un archivio chiavi:
Copiapkcs12 -export -in postgresql.crt -inkey
postgresql.key -out postgresql.p12 -
Copiare i file creati sul computer client e aggiornare il file PAConsumerConfig.yaml con il percorso seguente del certificato e della chiave.
La chiave client è in DER format.
CopiapgWarehouseDbConnection:
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
Configurazione lato server PostgreSQL
-
Genera una chiave privata utilizzando OpenSSL. È necessario fornire una passphrase quando si genera una chiave privata:
Copiaopenssl genrsa -des3 -out server.key 1024
-
Rimuovere la passphrase:
Copiaopenssl rsa -in server.key -out server.key
-
Concedere l'accesso al file di chiave.
Le autorizzazioni per server.key deve disabilitare qualsiasi accesso a mondi o gruppi. A tale scopo, impostare il chmod autorizzazione per 0600. In alternativa, il file può essere di proprietà di root e dispongono dell'accesso in lettura di gruppo, ovvero chmod 0640 autorizzazioni. Questa configurazione è destinata alle installazioni in cui i certificati e i file chiave sono gestiti dal sistema operativo. L'utente con cui è in esecuzione il server PostgreSQL deve quindi far parte del gruppo che ha accesso a tali file di chiavi e certificati.
Modificare le autorizzazioni e il proprietario del file impostando l'utente del sistema che esegue PostgreSQL:
Copiachown PSQL_OWNER:PSQL_OWNER server.key
chmod 0600 server.keySe di proprietà di root:
Copiachown root:root server.key
chmod 06040 server.key -
Creare il certificato del server e l'autorità di certificazione:
-subj è una scorciatoia per evitare di richiedere le informazioni.
-x509 produce un certificato autofirmato anziché una richiesta di certificato.
Copiaopenssl req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP OR HOSTNAME"
cp server.crt root.crt -
Effettuare le seguenti operazioni per tutti i certificati creati:
Copiachown PSQL_OWNER:PSQL_OWNER server.crt
chmod 0600 server.crt
chown PSQL_OWNER:PSQL_OWNER root.crt
chmod 0600 root.crt -
Aggiungere quanto segue a postgres.conf file:
Copialisten_addresses = '*' # what IP address(es) to listen on;
Elimina il commento e modifica quanto segue:
Copiassl = 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 -
Nel pg_hba.conf file, aggiungere o modificare quanto segue:
Potrebbe essere necessario aggiungere un commento alle voci dell'host.
hostssl applica SSL per DB_USERNAME.
clientcert=1 applica l'autenticazione client (autenticazione bidirezionale).
Copiahostssl platform_analytics_wh DB_USERNAME CLIENT_IP/32 cert clientcert=1
-
Riavviare PostgreSQL o MicroStrategy Repository.
Se PostgreSQL è stato installato all'esterno di MicroStrategy, utilizzare un comando come il seguente:
Copiasystemctl restart postgresql-11
Se MicroStrategy Repository viene utilizzato per Platform Analytics, utilizzare il seguente comando:
Questo comando non può essere eseguito come root.
Copiacd /opt/MicroStrategy/PlatformAnalytics/bin
./mstr_pg_ctl restart
Configurazione lato client
-
Creare la chiave privata e il certificato:
Copiaopenssl 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 -
Convertire la chiave privata nel formato DER utilizzando il comando seguente:
Il driver JDBC PostgreSQL utilizzato da Platform Analytics richiede che il file di chiave sia in formato DER anziché PEM.
Copiaopenss1 pkcs8 -topk8 -inform PEM -in postgresql.key -outform DER -nocrypt -out postgresql.key.der
-
A seconda del driver ODBC utilizzato per PostgreSQL, potrebbe essere necessario un archivio chiavi. Per creare un archivio chiavi:
Copiaopenss1 pkcs12 -export -in postgresql.crt -inkey postgresql.key -out postgresql.p12
-
Copiare i file creati sul computer client e aggiornare il file PAConsumerConfig.yaml con il percorso seguente del certificato e della chiave.
La chiave client è in DER format.
CopiapgWarehouseDbConnection:
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