第4章 Spring Boot で暗号化されたプロパティープレースホルダーを使用する方法
コンテナーを保護する場合、設定ファイルでプレーンテキストのパスワードを使用することはお勧めしません。プレインテキストのパスワードの使用を回避する 1 つの方法は、可能な限り暗号化されたプロパティープレースホルダーを使用することです。
4.1. 値を暗号化するためのマスターパスワード リンクのコピーリンクがクリップボードにコピーされました!
Jasypt を使用して値を暗号化するには、マスターパスワードが必要です。マスターパスワードは、ユーザー自身または管理者が選択できます。Jasypt では、いくつかの方法でマスターパスワードを設定できます。Jasypt は Spring 設定フレームワークに統合できるため、設定ファイルがロードされるときにプロパティー値が復号化されます。1 つの方法は、Spring Boot 設定でマスターパスワードをプレーンテキストで指定することです。
Spring は PropertyPlaceholder
フレームワークを使用して、トークンをプロパティーファイルからの値に置き換え、Jasypt のアプローチは PropertyPlaceholderConfigurer
クラスを、暗号化された文字列を認識し、それを復号化するものに置き換えます。
例
マスターパスワードをプレーンテキストで指定する代わりに、環境変数を使用してマスターパスワードを設定できます。Spring Boot 設定ファイルで、この環境変数を passwordEnvName
プロパティーの値として指定します。たとえば、MASTER_PW
環境変数をマスターパスワードに設定すると、Spring Boot 設定ファイルにこのエントリーが作成されます。
<property name="passwordEnvName" value="MASTER_PW">
<property name="passwordEnvName" value="MASTER_PW">