第5章 キーストアを使用したパスワードセキュリティーの確保

キーストアを使用して、Business Central と KIE Server の間の通信に使用するパスワードを暗号化できます。コントローラーと KIE Server のパスワードを暗号化する必要があります。Business Central と KIE Server を別のアプリケーションサーバーにデプロイする場合には、いずれのアプリケーションサーバーもキーストアを使用する必要があります。

Java Cryptography Extension KeyStore (JCEKS) は、対称鍵をサポートするので、キーストアには JCEKS を使用してください。JDK インストールに含まれる KeyTool を使用して、新しい JCEKS を作成します。

注記

KIE Server が JCEKS で設定されていない場合には、KIE Server のパスワードはシステムプロパティーにプレーンテキスト形式で保存されます。

前提条件

  • Red Hat JBoss Web Server に KIE Server がインストールされている。
  • Java 8 以降がインストールされている。

手順

  1. テキストエディターで JWS_HOME/tomcat/conf/tomcat-users.xml ファイルを開きます。
  2. kie-server ロールを割り当てた KIE Server ユーザーを JWS_HOME/tomcat/conf/tomcat-users.xml ファイルに追加します。以下の例では、<USER_NAME><PASSWORD> は、任意のユーザー名とパスワードに置き換えてください。

    <role rolename="kie-server"/>
    <user username="<USER_NAME>" password="<PASSWORD>" roles="kie-server"/>
  3. keytool を使用して JCEKS を作成するには、Java 8 のホームディレクトリーで以下のコマンドを実行します。

    $<JAVA_HOME>/bin/keytool -importpassword -keystore <KEYSTORE_PATH> -keypass <ALIAS_KEY_PASSWORD> -alias <PASSWORD_ALIAS> -storepass <KEYSTORE_PASSWORD> -storetype JCEKS

    上記の例では、以下の変数を置き換えてください。

    • <KEYSTORE_PATH>: キーストアの保存先のパス
    • <KEYSTORE_PASSWORD>: キーストアのパスワード
    • <ALIAS_KEY_PASSWORD>: エイリアスで保存した値にアクセスする時に使用するパスワード
    • <PASSWORD_ALIAS>: プロセスへのエントリーに使用するエイリアス
  4. プロンプトが表示されたら、作成した KIE Server ユーザーのパスワードを入力します。
  5. システムプロパティーを設定するには、JWS_HOME/tomcat/bin ディレクトリーで以下の手順の 1 つを実行し、変数は以下の表で記載されているように置き換えます。

    注記

    Business Central またはスタンドアロンのコントローラーが Red Hat JBoss Web Server とは別のインスタンスにインストールされている場合には、kie.keystore.key.server.aliaskie.keystore.key.server.pwd のプロパティーを CATALINA_OPTS に追加しないでください。

    • Linux または UNIX の場合は、以下の内容の setenv.sh ファイルを作成します。

      set CATALINA_OPTS="
      -Dkie.keystore.keyStoreURL=<KEYSTORE_URL>
      -Dkie.keystore.keyStorePwd=<KEYSTORE_PWD>
      -Dkie.keystore.key.server.alias=<KEY_SERVER_ALIAS>
      -Dkie.keystore.key.server.pwd=<KEY_SERVER_PWD>
      -Dkie.keystore.key.ctrl.alias=<KEY_CONTROL_ALIAS>
      -Dkie.keystore.key.ctrl.key.ctrl.pwd=<KEY_CONTROL_PWD>
    • Windows の場合は、以下の内容の setenv.bat ファイルを作成します。

      set CATALINA_OPTS="
      -Dkie.keystore.keyStoreURL=<KEYSTORE_URL>
      -Dkie.keystore.keyStorePwd=<KEYSTORE_PWD>
      -Dkie.keystore.key.server.alias=<KEY_SERVER_ALIAS>
      -Dkie.keystore.key.server.pwd=<KEY_SERVER_PWD>
      -Dkie.keystore.key.ctrl.alias=<KEY_CONTROL_ALIAS>
      -Dkie.keystore.key.ctrl.pwd=<KEY_CONTROL_PWD>

    表5.1 KIE Server JCEKS を読み込む時に使用するシステムプロパティー

    システムプロパティープレースホルダー説明

    kie.keystore.keyStoreURL

    <KEYSTORE_URL>

    使用する JCEKS の URL。例: file:///home/kie/keystores/keystore.jceks

    kie.keystore.keyStorePwd

    <KEYSTORE_PWD>

    JCEKS のパスワード

    kie.keystore.key.server.alias

    <KEY_SERVER_ALIAS>

    パスワードの保存先となる REST サービスのキーのエイリアス

    kie.keystore.key.server.pwd

    <KEY_SERVER_PWD>

    保存したパスワードを使用する REST サービスのエイリアスのパスワード

    kie.keystore.key.ctrl.alias

    <KEY_CONTROL_ALIAS>

    パスワードの保存先のデフォルトの REST Process Automation Controller のキーのエイリアス

    kie.keystore.key.ctrl.pwd

    <KEY_CONTROL_PWD>

    保存したパスワードを使用する、デフォルトの REST Process Automation Controller のエイリアスのパスワード

  6. KIE Server を起動して、設定を検証します。