MicroStrategy ONE
PostgreSQL および Storage Service の SSL の構成
Microstrategy Storage Service と PostgreSQL データベース間の通信は、SSL を使用して暗号化と認証を行うよう構成できます。を参照してくださいPostgreSQL ドキュメント詳細についてはこちらをご覧ください。
PostgreSQL サーバー サイドの構成
OpenSSL 1.1.0 以降をインストールする必要があります。
PostgreSQLサーバー側をPlatform AnalyticsまたはCollaboration Service用にすでに構成している場合は、クライアント サイドのセットアップ生成されたserver.key
そしてroot.crt
-
秘密キーを作成する管理者として OpenSSL アプリケーションを実行します。秘密キーを作成する際のパスフレーズを提供する必要があります。
openssl
コマンドは OpenSSL アプリケーションで実行されるため、各行の先頭には含まれません。証明書とキーがUnixシステムまたはWindowsコマンドラインで生成される場合は、以下を含める必要があるかもしれません。openssl
各行の前に。コピーgenrsa -out server.key 1024
-
サーバー証明書を作成します。
サーバー証明書を問題なく作成するため、場合によってはOpenSSL アプリケーションを再ローンチする必要があります。
-subj
情報の入力を求めるプロンプトを回避するためのショートカットです。-x509
証明書要求ではなく自己署名証明書を生成します。コピーreq -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=your.domain.com"
-
Command Prompt または File Explorer を開き、サーバー証明書の場所に移動します。
-
新しく作成されたサーバー証明書をコピーして認証局を作成します。
コピーcopy server.crt root.crt
-
以下の行を追加してください
postgres.conf
。コピーlisten_addresses = '*' # what IP address(es) to listen on;
-
以下の行をコメント解除し、変更します。
コピーssl = 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 -
で
pg_hba.conf
以下のコードを追加または変更します。場合によってはホスト エントリをコメントアウトする必要があります。
hostssl
DB_USERNAME に対して SSL を強制します。clientcert=1
クライアント認証(双方向認証)を強制します。コピーhostssl mstr_library DB_USERNAME CLIENT_IP/32 cert clientcert=1
-
変更を両方のファイルに保存します。
-
選ぶ始める > サービス PostgreSQL または MicroStrategy リポジトリを再起動します。
クライアント サイドのセットアップ
PostgreSQL サーバー サイドの構成が終わったら、クライアント サイドの構成とセットアップを開始します。これにより、Storage Service 用の証明書とキーが作成されます。
2組のキーと証明書を作成する必要があります。mstr_library
ユーザーとmstr_library_application
ユーザー。
-
秘密鍵と証明書を作成します。
mstr_library
ユーザー:コピーgenrsa -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 -CAcreateserialエラーが発生した場合は、コメントアウトする必要があるかもしれません
tsa_policy1
でopenssl.cnf
。管理者として、openssl を保存し再ローンチします。コピー# 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 -
以下のコマンドを使用して秘密キーを DER 形式に変換します。
Storage Service が使用する JDBC PostgreSQL ドライバは、キー ファイルが PEM 形式ではなく DER 形式であることが求められます。
コピーpkcs8 -topk8 -inform PEM -outform DER -in mstr_library.key -out mstr_library.pk8 -nocrypt
-
ステップ1と2と同様に、
mstr_library_application
ユーザー:コピーgenrsa -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 -
ライブラリサーバーに作成されたファイルをコピーして更新します
configOverride.properties
証明書とキーへの絶対パスを指定します。の
configOverride.properties
ファイルは次の場所にあります:ウィンドウズ:
<DEPLOY_LOCATION>\webapps\MicroStrategyLibrary\WEB-INF\classes\config\ConfigOverride.properties
リナックス:
<DEPLOY_LOCATION>/webapps/MicroStrategyLibrary/WEB-INF/classes/config/configOverride.properties
コピー#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