第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'])"$<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'])"Copy to Clipboard Copied! Toggle word wrap Toggle overflow KeyTool を使用して JCEKS を作成するには、Java 8 のホームディレクトリーで以下のコマンドを実行します。
$<JAVA_HOME>/bin/keytool -importpassword -keystore <KEYSTORE_PATH> -keypass <ALIAS_KEY_PASSWORD> -alias <PASSWORD_ALIAS> -storepass <KEYSTORE_PASSWORD> -storetype JCEKS
$<JAVA_HOME>/bin/keytool -importpassword -keystore <KEYSTORE_PATH> -keypass <ALIAS_KEY_PASSWORD> -alias <PASSWORD_ALIAS> -storepass <KEYSTORE_PASSWORD> -storetype JCEKSCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の例では、以下の変数を置き換えてください。
-
<KEYSTORE_PATH>: キーストアの保存先のパス -
<KEYSTORE_PASSWORD>: キーストアのパスワード -
<ALIAS_KEY_PASSWORD>: エイリアスで保存した値にアクセスする時に使用するパスワード -
<PASSWORD_ALIAS>: プロセスへのエントリーに使用するエイリアス
-
- プロンプトが表示されたら、作成した KIE Server ユーザーのパスワードを入力します。
EAP_HOME/standalone/configuration/standalone-full.xmlファイルに以下のシステムプロパティーを設定して、以下の表に記載のプレースホルダーを置き換えます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 表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 を起動して、設定を検証します。