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

  1. 秘密キーを作成する管理者として OpenSSL アプリケーションを実行します。秘密キーを作成する際のパスフレーズを提供する必要があります。

    openssl コマンドは OpenSSL アプリケーションで実行されるため、各行の先頭には含まれません。証明書とキーが UNIX システムまたは Windows のコマンド ラインで生成されている場合、 openssl すべての行の前に表示されます

    コピー
    genrsa -out server.key 1024
  2. サーバー証明書を作成します。

    サーバー証明書を問題なく作成するため、場合によってはOpenSSL アプリケーションを再ローンチする必要があります。

    -subj は、情報に関するプロンプトを表示しないためのショートカットです。

    -x509 証明書要求ではなく、自己署名証明書を生成します。

    コピー
    req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=your.domain.com"
  3. Command Prompt または File Explorer を開き、サーバー証明書の場所に移動します。

  4. 新しく作成されたサーバー証明書をコピーして認証局を作成します。

    コピー
    copy server.crt root.crt
  5. 以下に示す行を postgres.conf

    コピー
    listen_addresses = '*' # what IP address(es) to listen on;
  6. 以下の行をコメント解除し、変更します。

    コピー
    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
  7. IN pg_hba.conf、以下のコードを追加または変更します。

    場合によってはホスト エントリをコメントアウトする必要があります。

    hostssl DB_USERName に SSL を強制適用します。

    clientcert=1 クライアント認証 (2 方向認証) を強制します。

    コピー
    hostssl   mstr_library   DB_USERNAME   CLIENT_IP/32   cert clientcert=1
  8. 変更を両方のファイルに保存します。

  9. [スタート][サービス] を選択し、PostgreSQL または MicroStrategy Repository を再起動します。

クライアント サイドのセットアップ

PostgreSQL サーバー サイドの構成が終わったら、クライアント サイドの構成とセットアップを開始します。これにより、Storage Service 用の証明書とキーが作成されます。

用のキーと証明書のペアを作成する必要があります mstr_library ユーザーおよび mstr_library_application ユーザー。

  1. 秘密キーと の証明書を作成します 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_policy1openssl.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 
  2. 以下のコマンドを使用して秘密キーを DER 形式に変換します。

    Storage Service が使用する JDBC PostgreSQL ドライバは、キー ファイルが PEM 形式ではなく DER 形式であることが求められます。

    コピー
    pkcs8 -topk8 -inform PEM -outform DER -in mstr_library.key -out mstr_library.pk8 -nocrypt
  3. ステップ 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
  4. ライブラリサーバー上で作成されたファイルをコピーして更新 configOverride.properties 証明書への絶対パスとキーが現れます

    選択: configOverride.properties ファイルの場所:

    Windows: <DEPLOY_LOCATION>\webapps\MicroStrategyLibrary\WEB-INF\classes\config\ConfigOverride.properties

    Linux: <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