7.5. 外部ソースからのキーストアパスワードの取得
Java キーストアパスワードを取得するために、Vault 設定の EXT、EXTC、CMD、CMDC、または CLASS メソッドを使用することもできます。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
<vault-option name="KEYSTORE_PASSWORD" value="[here]"
<vault-option name="KEYSTORE_PASSWORD" value="[here]"
この方法を以下で説明します。
{EXT}...: 実際のコマンドを参照します。ここで、「…」は実際のコマンドです。たとえば{EXT}/usr/bin/getmypassword --section 1 --query companyなど、/usr/bin/getmypasswordコマンドを実行します。このコマンドは、標準出力のパスワードを表示し、セキュリティー vault のキーストアのパスワードとして使用します。この例では、--section 1 と --query company のオプションを使用しています。{EXTC[:expiration_in_millis]}...: 実際のコマンドを参照します。ここで、'...' は、プラットフォームコマンドを実行する Runtime.exec(String)メソッドに渡される実際のコマンドラインです。コマンド出力の最初の行がパスワードとして使用されます。EXTC バリアントは expiration_in_millis ミリ秒のパスワードをキャッシュします。デフォルトのキャッシュの有効期限は 0(ゼロ)で、キャッシュ内のアイテムは期限切れになりません。例:{EXTC:120000}/usr/bin/getmypassword --section 1 --query companyキャッシュに/usr/bin/getmypassword出力が含まれるかどうかを確認し、出力が含まれる場合は使用します。出力がない場合は、コマンドを実行してこれをキャッシュに出力して使用します。この例では、キャッシュの有効期限は 2 分(120000 ミリ秒)です。{CMD}...または{CMDC[:expiration_in_millis]}...: 一般的なコマンドは ',' で区切られた文字列です。最初の部分は実際のコマンドであり、追加の部分はパラメーターを表します。コンマにバックスラッシュを付けることで、パラメーターの一部として維持することができます。以下は例になります。{CMD}/usr/bin/getmypassword,--section,1,--query,company{CLASS[@jboss_module_spec]}classname[:ctorargs]: '[:ctorargs]' は、クラス名の ':' で区切ったオプションの文字列です。ctorargs は文字列のカンマ区切りの一覧です。(例:{CLASS@org.test.passwd}org.test.passwd.ExternamPassworProvider)。この例では、org.test.passwd.ExternamPassworProviderモジュールからorg.test.passwdクラスを読み込み、toCharArray()メソッドを使用してパスワードを取得します。toCharArray()が利用できない場合は、toString()メソッドを使用してください。org.test.passwd.ExternamPassworProviderクラスにはデフォルトのコンストラクターが必要です。