MicroStrategy ONE
Configurer SSL pour PostgreSQL et le service de stockage
La communication entre le service Microstrategy Storage et une base de données PostgreSQL peut être configurée pour utiliser SSL pour le chiffrement et l'authentification. Voir la Documentation PostgreSQL pour plus d'informations.
Configuration côté serveur PostgreSQL
Vous devez avoir installé OpenSSL version 1.1.0 ou ultérieure.
Si vous avez déjà configuré le côté serveur de PostgreSQL pour Platform Analytics ou Collaboration Service, passez à Configuration côté client à l'aide d'un élément généré server.key
et root.crt
-
Exécutez l'application OpenSSL en tant qu'administrateur pour générer une clé privée. Vous devez fournir une phrase secrète lors de la génération de la clé privée.
openssl
n'est pas inclus au début de chaque ligne, car les commandes sont exécutées avec l'application OpenSSL. Si les certificats et les clés sont générés sur un système Unix ou sur une ligne de commande Windows, vous devrez peut-être inclureopenssl
avant chaque ligne.Copiergenrsa -out server.key 1024
-
Créez le certificat du serveur.
L'application OpenSSL devra peut-être être relancée pour réussir à créer le certificat de serveur.
-subj
est un raccourci pour éviter d'inviter à fournir des informations.-x509
produit un certificat auto-signé au lieu d'une demande de certificat.Copierreq -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=your.domain.com"
-
Ouvrez une invite de commande ou un explorateur de fichiers et accédez à l'emplacement du certificat du serveur.
-
Copiez le certificat de serveur nouvellement créé pour créer l'autorité de certification.
Copiercopy server.crt root.crt
-
Ajouter la ligne affichée ci-dessous à
postgres.conf
.Copierlisten_addresses = '*' # what IP address(es) to listen on;
-
Décommentez et modifiez le code ci-dessous.
Copierssl = 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 -
Dans
pg_hba.conf
, ajoutez ou modifiez le code ci-dessous.Vous devrez peut-être commenter les entrées de l'hôte.
hostssl
applique SSL pour DB_USERNAME.clientcert=1
applique l'authentification client (authentification bidirectionnelle).Copierhostssl mstr_library DB_USERNAME CLIENT_IP/32 cert clientcert=1
-
Enregistrez vos modifications dans les deux fichiers.
-
Choisissez Démarrage > Services et redémarrez le référentiel PostgreSQL ou MicroStrategy.
Configuration côté client
Après avoir terminé la configuration côté serveur de PostgreSQL, vous pouvez démarrer la configuration et l'installation côté client. Cela génère des certificats et des clés pour le service de stockage.
Vous devez créer deux paires de clés et de certificats pour mstr_library
utilisateur et mstr_library_application
utilisateur.
-
Créez la clé privée et le certificat pour
mstr_library
utilisateur :Copiergenrsa -out mstr_library.key 1024
req -new -key mstr_library.key -out mstr_library.csr -subj "/CN=mstr_library"
x509 -req -in mstr_library.csr -CA root.crt -CAkey server.key -out mstr_library.crt -CAcreateserialSi vous recevez une erreur, vous devrez peut-être commenter
tsa_policy1
dansopenssl.cnf
. Enregistrez et relancez openssl en tant qu'administrateur.Copier# 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 -
Convertissez la clé privée au format DER à l'aide de la commande ci-dessous.
Le pilote JDBC PostgreSQL utilisé par le service de stockage nécessite que le fichier de clé soit au format DER plutôt qu'au format PEM.
Copierpkcs8 -topk8 -inform PEM -outform DER -in mstr_library.key -out mstr_library.pk8 -nocrypt
-
Comme pour les étapes 1 et 2, créez la clé privée et le certificat pour
mstr_library_application
utilisateur :Copiergenrsa -out mstr_library_application.key 1024
req -new -key mstr_library_application.key -out mstr_library_application.csr -subj "/CN=mstr_library_application"
x509 -req -in mstr_library_application.csr -CA root.crt -CAkey server.key -out mstr_library_application.crt -CAcreateserial
pkcs8 -topk8 -inform PEM -outform DER -in mstr_library_application.key -out mstr_library_application.pk8 -nocrypt -
Copiez les fichiers créés sur Library Server et mettez à jour
configOverride.properties
avec le chemin absolu vers le certificat et la clé.Le
configOverride.properties
Le fichier peut être trouvé dans :Windows :
<DEPLOY_LOCATION>\webapps\MicroStrategyLibrary\WEB-INF\classes\config\ConfigOverride.properties
Linux :
<DEPLOY_LOCATION>/webapps/MicroStrategyLibrary/WEB-INF/classes/config/configOverride.properties
Copier#postgresql database connection config
datasource.url=jdbc:postgresql://YOUR_HOST:5432/mstr_library
datasource.tlsEnabled=true
datasource.sslMode=require
datasource.sslRootCert=/LOCATION_OF_FILE/root.crt
#for Windows: datasource.sslRootCert=Z:\LOCATION_OF_FILE\root.crt
datasource.username=mstr_library_application
datasource.password=<any string>
datasource.sslCert=/LOCATION_OF_FILE/mstr_library_application.crt
datasource.sslKey=/LOCATION_OF_FILE/mstr_library_application.pk8
datasource.admin.username=mstr_library
datasource.admin.password=<any string>
datasource.admin.sslCert=/LOCATION_OF_FILE/mstr_library.crt
datasource.admin.sslKey=/LOCATION_OF_FILE/mstr_library.pk8