@ Zildyanの回答、コメント、および他の回答への参照を基にする。
を格納するのためのいくつかのオプションがあります:プロパティファイル
- データベース(離れアプリケーションから)
- 定数(ハードコードされた)
- ファイルシステムは
についてはと保存するe:
感度によって異なります。クレデンシャルはプレーンテキスト(低感度)で保存することも、暗号化する(高感度)こともできます。
また、暗号化の組み合わせを使用して、ソースからの資格情報を分離することは、あなたが資格情報への内部アクセスを制限することに留意する必要があります。
いくつかの例
- 平文で格納されたパスワードは、ソースコントロールに追加し、ソースコントロールへのアクセスを誰でも読むことができます。
- 復号化コードを持つ暗号化されたパスワードは、コードを実行できる誰でも簡単に利用できます。
- サーバーに保存されているプレーンテキストファイルは、サーバーにアクセスできるすべてのユーザーがアクセスできます。
- ファイルシステムに格納された暗号化ファイルは、システム管理者だけがアクセスでき、暗号化解除方法はdevsで利用できます。
同じことがデータベースに格納され、そのデータベースにアクセスできるのは同じです。
この情報はどの程度重要ですか?資格情報が侵害されるべきときに、すべてのお客様にそのアプリケーションのすべてのインストールが中断されますか?そのサードパーティの損害賠償額はいくらですか?これらの資格情報を暗号化する場合は、解読するためにキーをどこに保存しますか? ...あなたはすべてのインストールのための1つのキーか、各顧客のための新しいキーを持っていますか? – Fildor
私は信任状が非常に敏感であると言います。 –
@Fildor資格情報は、アプリからアプリへの通信のためのものです。彼らは顧客に相対的ではありません。あなたが言うかもしれないApplicationScoped。環境ごとに1セットあります(例えば、生産、テスト) –