2016-11-10 4 views
0

CloudFoundry/Bluemixにデプロイされるアプリケーションがあります。アプリケーションは、環境変数VCAP_SERVICESからデータベース接続を読み取ります。環境変数に格納されているdbパスワードは暗号化されており、アプリケーションの起動時に解読されます。Springクラウドコネクタでパスワードを復号化するためのフック

我々はSpring Cloud Service Connectorsを見ている。クラウドコネクタはフックを提供するので、DataSourceインスタンスが作成される前にVCAP_SERVICESからパスワードを解読できますか?

答えて

2

なぜこれをやりたいですか?アプリはどこから復号キーを取得しますか?アプリでハードコードされている場合は、キーを回転させるのが難しい反パターンです。環境変数を使用している場合、Cloud Foundryのサービスとして暗号化されていないデータベース資格情報を格納することより安全です。CFのサービスは、ドメイン固有の環境変数のグループに過ぎません。私はそれらを暗号化することはセキュリティを追加することがわかりません。

質問に答えるには:すぐに使うことはできませんが、Cloud Foundryがアプリケーションに提供する環境変数に作用するSpringコンポーネントの流れを妨げる可能性があります。

ServiceInfoインスタンスを作成する抽象クラスはCloudFoundryServiceInfoCreatorです。おそらくこれのカスタム実装を提供することを見ることができますか? blog post describing how Spring Cloud Connectors worksがあります。 CloudFoundryConnectorも拡張できます。

+0

ガイダンスをありがとうございます。キーは現在、アプリでは難しいコードなので、回転するのは簡単ではありません。暗号化されていないパスワードを私たちのCFスペースに保存することは禁止されています。私は大規模な金融機関のために働く、これは組織の問題の症状です;)。 – timmy

+0

ハ、間違いなく組織の問題のように聞こえる!私たちはいくつかのグローバル銀行やウェルスマネジメント会社と協力してきました。 CFでenv変数を見ることができる人は、おそらくあなたのアプリに対して 'cfファイル 'を実行し、.jarをダウンロードしてその中の文字列を見ることができると指摘しています。 –

+0

合意。これは、より難読化の仕組みです。プロダクションサポートチームの誰かがノウハウを持っていれば、パスワードをリバースエンジニアリングすることができます。この問題を解決する適切な方法はありますか? – timmy

関連する問題