第15章 キーストアを使用したパスワードセキュリティーの確保
キーストアを使用して、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 EAP に KIE Server がインストールされている。
- Java 8 以降がインストールされている。
手順
Red Hat JBoss EAP のホームディレクトリーで、以下のコマンドを入力して、
kie-server
ロールを割り当てた KIE Server ユーザーを作成し、パスワードを指定します。以下の例で、<USERNAME>
および<PASSWORD>
を、任意のユーザー名とパスワードに置き換えます。$<EAP_HOME>./bin/jboss-cli.sh --commands="embed-server --std-out=echo,/subsystem=elytron/filesystem-realm=ApplicationRealm:add-identity(identity=<USERNAME>),/subsystem=elytron/filesystem-realm=ApplicationRealm:set-password(identity=<USERNAME>, clear={password='<PASSWORD>'}),/subsystem=elytron/filesystem-realm=ApplicationRealm:add-identity-attribute(identity=<USERNAME>, name=role, value=['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 ユーザーのパスワードを入力します。
EAP_HOME/standalone/configuration/standalone-full.xml
ファイルに以下のシステムプロパティーを設定して、以下の表に記載のプレースホルダーを置き換えます。<system-properties> <property name="kie.keystore.keyStoreURL" value="<KEYSTORE_URL>"/> <property name="kie.keystore.keyStorePwd" value="<KEYSTORE_PWD>"/> <property name="kie.keystore.key.server.alias" value="<KEY_SERVER_ALIAS>"/> <property name="kie.keystore.key.server.pwd" value="<KEY_SERVER_PWD>"/> <property name="kie.keystore.key.ctrl.alias" value="<KEY_CONTROL_ALIAS>"/> <property name="kie.keystore.key.ctrl.pwd" value="<KEY_CONTROL_PWD>"/> </system-properties>
表15.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 を起動して、設定を検証します。