2017-10-11 24 views
3

だから私はいくつかのグーグルが行われ、春のクラウド上のドキュメントのいくつかを読んでますが、本当に自分自身を罰するための努力で、私は敏感なアプリケーションプロパティを暗号化するだけで正確にどのように理解しようとしていました"{暗号}"は本当にうまくいきます。 application.ymlで例えば暗号化アプリケーションのプロパティ

...

Spring.datasource.password: '{cipher} abdjdbdjfb15168gddbdk3900289' 

私の理解では、レポにこれをコミットしても安全であることであり、そのスプリングブーツはためにbootstrap.ymlでencrypt.keyを使用しています必要に応じて解読する。

私が理解できないことは、なぜencrypt.keyをレポにコミットするのが安全なのかです。そしてもしあなたがしなければ、私はこれをどのように利用するのですか?

また、herokuのドキュメントには、サーバの設定変数として設定することができるリンクがありますか?

ボトムライン、私は多くの質問を持っていると、最も重要なのは、私が求めてする必要がどのような質問にもわかりません。だから私は彼らが何をしているかを知っている誰かが、いくつかのリンクのいくつかの正しい方向に私を教えてくれて、私を喜ばせるために読むなどを望んでいると思っていますか?

ありがとうございます!

+0

レポにキーをコミットすることは間違いありません。また、無理な強制をしているので、良いパスワードを使用しているかどうかを確認する必要があります。 – Kayaman

+0

https://gitter.im/spring-cloud/spring-cloudは、Spring Cloudチームと連絡を取るのに適しています。 – mp911de

答えて

1

まず第一に、およそencryption春クラウドconfigのコンフィギュレーションのサポートの可能性を説明しているリファレンスドキュメントをチェックアウト。

そのリポジトリへのアクセスを制御できない場合は、キーなどの重要なデータをソースコードリポジトリにコミットする必要があります。定期アクセスだけでなく、物理的なアクセス、バックアップ、...。

のみ復号化が起こり、サーバー側で理想的には、できるだけ少ない場所で鍵を格納する方法キーを処理するために好ましいアプローチ。そこでは、ランタイムにキーを渡すためのメカニズムとして、ブートストラップの設定、システムプロパティ、または環境変数を使用するオプションがあります。

あなたはVaultは、鍵管理の鶏・卵の問題を解決してHashiCorp Vault support覗いする場合があります。代わりに、Vaultトークン(クライアントアプリケーション内から取得するか、サーバー上にトークンを設定することができます)とVaultが暗号化/復号化を処理します。

+0

bootstrap.ymlファイルに「secret.key」を保存して、そのファイルを.gitignoreに追加すると、PaaSに自分のapiをデプロイすると、これは基本的にはあなたの提案ですか?リンクありがとう!これは基本的に私が探していたものです:) – mikejones1477

+0

可能な限り機密データをSCMレポから遠ざけてください。そうすることで、偶発的な開示を積極的に防止します。あなたのPaaSが提供するセキュリティ機能を使ってみてください。 – mp911de