第35章 キーストアを使用したパスワードセキュリティーの確保
キーストアを使用して、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 以降がインストールされている。
手順
-
テキストエディターで
JWS_HOME/tomcat/conf/tomcat-users.xml
ファイルを開きます。 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"/>
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>
: プロセスへのエントリーに使用するエイリアス
-
- プロンプトが表示されたら、作成した KIE Server ユーザーのパスワードを入力します。
システムプロパティーを設定するには、
JWS_HOME/tomcat/bin
ディレクトリーで以下の手順の 1 つを実行し、変数は以下の表で記載されているように置き換えます。注記Business Central またはスタンドアロンのコントローラーが Red Hat JBoss Web Server とは別のインスタンスにインストールされている場合は、
kie.keystore.key.server.alias
とkie.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.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>
表35.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 のエイリアスのパスワード
- KIE Server を起動して、設定を検証します。