プロパティファイルを暗号化して使用する

スポンサーリンク

プロパティファイルを暗号化する

前回の記事では、プロパティを使用してMuleフローから参照する方法について記載しました。プロパティの内容によっては、他システムとの接続情報であったり機密情報などを管理する場合も多く、プロパティを暗号化でセキュリティ対策をする必要があります。

今回はプロパティファイルの暗号化について、手順を記していきたいと思います。

プロパティを使用するための準備

プロパティファイルを暗号化するには、Secure Propertiesを使用します。

プロジェクトのManage ModulesからSecure Propertiesモジュールをインストールします。

モジュールの管理

Mule ProjectのModulesから+ボタンのform Exchangeを選択し、Secure Configuration Property Extensionを追加してください。

ExchangeからSecure Configuration Property取得
ExchangeからSecure Configuration Property取得

このように、Mule PaletteにSecure Propertiesが表示されます。

プロパティファイルを暗号化する

続いてプロパティファイルを暗号化してみましょう。前回作成したこちらのプロパティファイルを暗号化してみます。

暗号化する前のプロパティファイル

プロパティファイルを暗号化するにはセキュアプロパティツールjarファイルを使用します。詳細はこちらのサイトに記載されており、ページ内のリンクからjarファイル(secure-properties-tool.jar)をダウンロードしておきます。

jarファイルをダウンロードしたら、任意の作業用フォルダにjarファイル(secure-properties-tool.jar)と暗号化するプロパティファイルを配置し、以下コマンドにてファイルの暗号化を実施します。オプションで暗号化のアルゴリズムやモードを指定できますが、今回は以下の設定で暗号化します。

オプション設定値備考
アルゴリズムBlowfish
モードCBC
キーmulesoft暗号化/復号するためのキー 任意の文字列でOK

任意の作業用フォルダにjarファイル(secure-properties-tool.jar)と暗号化するプロパティファイルを配置し、以下コマンドにてファイルの暗号化を実施します。

java -cp secure-properties-tool.jar com.mulesoft.tools.SecurePropertiesTool file encrypt Blowfish CBC mulesoft config-dev.yaml config-dev-out.yaml

上記コマンドを実行すると、config-dev-out.yamlファイルに暗号化されたものが出力されます。中身はこんな感じで、valueの部分が暗号化されるので、これをconfig-dev.yamlに置き換えます。

暗号化されたプロパティ

プロパティファイルの読み込みと復号

では、暗号化したプロパティファイルをSecure Propertiesを使って復号しながら読み込んでみましょう。

Global ElementsからSecure Properties Configを作成します。

Secure Properties Configモジュール

Secure Properties Configには暗号化した時の情報をセットします。

項目設定値備考
File暗号化したプロパティファイルを指定
Key暗号化の際に設定したキーGlobal Propertyに保持してもOK
Algorithm暗号化の際に設定したアルゴリズム
Mode暗号化の際に設定したモード
Secure Properties Configの設定

プロパティを参照する場合は、key名に「secure::」をつけることで参照可能です。

${secure::key名}
セキュアプロパティ値の参照

Dataweave式で参照する場合も「secure::」をつけることで参照可能です。

Mule::p('secure::{key名}')
Dataweaveからのセキュアプロパティ参照

secureで参照した場合でも、このように復号されて読み込まれることがわかります。

フロー内では復号化されている

最後に

このようにSecure Propertiesモジュールを使うことで、プロパティファイルの暗号化を行うことができます。暗号化しない場合より、手間はかかりますが情報の秘匿性の手段としてよく使うことになります。暗号化・復号のオプションもしっかり確認しつつ、動作検証まで忘れないようにしていきましょう。

MuleSoft
スポンサーリンク

コメント