MicroStrategy ONE

PostgreSQL および Platform Analytics Consumer の SSL の構成

Platform Analytics Consumer と PostgreSQL データベース間の通信は、SSL を使用して暗号化と認証を行うよう構成できます。詳細については、 PostgreSQL ドキュメント

PostgreSQL サーバー サイドの構成

あなたは持っている必要がありますオープンSSLバージョン 1.1.0 以降がインストールされています。

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

    オープンSSLコマンドは OpenSSL アプリケーションで実行されるため、各行の先頭には含まれません。証明書と鍵がUnixシステム上で生成される場合は、以下を含める必要があるかもしれません。オープンSSL各行の前に。

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

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

    -件名情報の入力を求めるプロンプトを回避するためのショートカットです。

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

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

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

    コピー
    copy server.crt root.crt
  5. 以下を追加設定ファイルファイル:

    コピー
    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
  6. ではpg_hba.confファイルに次の内容を追加または変更します。

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

    ホストSSL DB_USERNAME に対して SSL を強制します。

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

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

  8. 開ける始める > サービス PostgreSQL または MicroStrategy リポジトリを再起動します。

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

  1. 秘密キーおよび証明書を作成します。

    コピー
    genrsa -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 -CAcreateserial

    エラーが発生した場合は、コメントアウトする必要があるかもしれませんtsa_ポリシー1オープンSSLファイル。管理者として、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 形式に変換します。

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

    コピー
    pkcs8 -topk8 -inform PEM -in postgresql.key -outform 
    DER -nocrypt -out postgresql.key.der
  3. PostgreSQL に使用される ODBC ドライバーによっては、キー ストアが必要になる場合があります。以下でキー ストアを作成します。

    コピー
    pkcs12 -export -in postgresql.crt -inkey 
    postgresql.key -out postgresql.p12
  4. 作成されたファイルをクライアントマシンにコピーし、 PAコンシューマ構成.yaml証明書とキーへの以下のパスを含むファイル。

    クライアント キーは DER 形式です。

    コピー
    pgWarehouseDbConnection:
        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

PostgreSQL サーバー サイドの構成

  1. OpenSSL を使用して秘密キーを作成します。秘密キーを作成する際のパスフレーズを提供する必要があります。

    コピー
    openssl genrsa -des3 -out server.key 1024
  2. パスフレーズを削除します。

    コピー
    openssl rsa -in server.key -out server.key
  3. キー ファイルへのアクセスを許可します。

    権限サーバーキー世界またはグループへのアクセスを無効にする必要があります。これを行うには、 chmod許可する0600。あるいは、ファイルの所有者はグループの読み取りアクセス権を持ち、 chmod 0640権限。このセットアップは、証明書とキー ファイルがオペレーティング システムによって管理されているインストールを対象としています。PostgreSQL サーバーのユーザーは、これらの証明書とキー ファイルにアクセスできるグループのメンバーである必要があります。

    以下のコマンドで、ファイル パーミッションと所有者を PostgreSQL を実行しているシステム ユーザーに変更します。

    コピー
    chown PSQL_OWNER:PSQL_OWNER server.key
    chmod 0600 server.key

    所有者が :

    コピー
    chown root:root server.key
    chmod 06040 server.key
  4. サーバー証明書と認証局を作成します。

    -件名情報の入力を求めるプロンプトを回避するためのショートカットです。

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

    コピー
    openssl req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP OR HOSTNAME"
    cp server.crt root.crt
  5. すべての作成された証明書について、次のようにします。

    コピー
    chown PSQL_OWNER:PSQL_OWNER server.crt
    chmod 0600 server.crt

    chown PSQL_OWNER:PSQL_OWNER root.crt
    chmod 0600 root.crt
  6. 以下を追加設定ファイルファイル:

    コピー
    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
  7. ではpg_hba.confファイルに次の内容を追加または変更します。

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

    ホストSSL DB_USERNAME に対して SSL を強制します。

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

    コピー
    hostssl   platform_analytics_wh   DB_USERNAME   CLIENT_IP/32   cert clientcert=1
  8. PostgreSQL または MicroStrategy Repository を再起動します。

    PostgreSQL が MicroStrategy 以外にインストールされていた場合、以下のようなコマンドを使用してください。

    コピー
    systemctl restart postgresql-11

    MicroStrategy Repository が Platform Analytics に使用されている場合、以下のコマンドを使用してください。

    このコマンドは実行できません

    コピー
    cd /opt/MicroStrategy/PlatformAnalytics/bin 
    ./mstr_pg_ctl restart

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

  1. 秘密キーおよび証明書を作成します。

    コピー
    openssl 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
  2. 以下のコマンドを使用して秘密キーを DER 形式に変換します。

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

    コピー
    openss1 pkcs8 -topk8 -inform PEM -in postgresql.key -outform DER -nocrypt -out postgresql.key.der
  3. PostgreSQL に使用される ODBC ドライバーによっては、キー ストアが必要になる場合があります。以下でキー ストアを作成します。

    コピー
    openss1 pkcs12 -export -in postgresql.crt -inkey postgresql.key -out postgresql.p12
  4. 作成されたファイルをクライアントマシンにコピーし、 PAコンシューマ構成.yaml証明書とキーへの以下のパスを含むファイル。

    クライアント キーは DER 形式です。

    コピー
    pgWarehouseDbConnection:
        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