0

私はSpring Vaultの認証トークンの背後にあるコンセプトと展開チェーンの仕組みを理解しようとしていますか?トークンが静的に保持されている場合、Spring Vaultのポイントは何ですか?

どこでも私は、認証トークンが静的に、あるいは他の誰かに提供されなければならないことを理解しています。私が秘密を安全に保管するために保管庫を使用し、プロパティーファイルに横たわるだけでなく、トークンを1つに保管するのはなぜですか?

私がVaultについて読んで始めたとき、私は、アプリケーションがデプロイされたり起動される前に、トークンがシステムの引数として提供される「ヒューマンインタラクション」フェーズを期待していました。

さらに、Vaultが完全自動化されたデプロイメントチェーンにどのように適合するかはわかりません。 My Jenkinsは、マスターブランチが変更されたときに自動的にビルドされ、jarを公開し、ssh経由で指定のマシンに実行します。 Vaultでわかっていることから、これは私のアプリケーションを公開する方法ではありませんが、それは正しいのですか?

答えて

2

あなたの投稿には、主に信頼に関する複数の質問が含まれています。

トークンが静的に保持されている場合のSpring Vaultのポイントは何ですか?

認証機構は、少なくとも依存:

  • セキュリティポリシー
  • あなたはOPS側に費やすことをいとわない
  • 努力を受け入れるために喜んでいるリスク。

一部の環境では、静的トークンを持つVaultは完全に細かいですが、他のシナリオでは複数の要素の認証が必要です。静的トークンを使用すると、すべてのアプリ/アプリインスタンスまたはアプリ/アプリインスタンスごとに異なるトークンで1つのトークンを使用できます。こうすることで、特定のトークンをロックアウトして残りのトークンを有効にすることができます。

多分別の観点から質問を表示すると、Vaultでどのような要件に取り組もうとしていますか?安全な導入問題にどれだけの努力を費やしていますか?

ボールトは一般的な認証メカニズムとしてトークンを使用しますが、これに限定されません。クライアント証明書、マルチファクタ認証、およびその他のいくつかのメカニズムを使用してセッショントークンを取得し、セッショントークンをメモリに保存することができます。

認証トークンはどのようにセキュリティ保護されていますか?

これは、使用する環境やリスクによって異なります。あなたは、少なくとも次の方法で任意のJavaアプリケーションに、一般的に、設定プロパティを話す静的トークンを、供給することができます:

  • プロパティファイル
  • 環境変数
  • システムプロパティ
  • コマンドライン引数
  • アプリケーション開始時のプロンプト

それぞれの可能性は、 t。あなたのランタイム/コンテナが十分な(あなたが定義するレベルの)保護を持っているならば、プロパティファイルは完全にうまくいくかもしれません。セキュリティバーを高くする必要がある場合は、アプリケーションの起動時にプロンプ​​トを表示してトークンを入力することができます。

Vaultが完全に自動化されたデプロイメントチェーンにどのように適合するかはわかりません。

これはまさに質問ではなく、おそらくあなたの投稿の中で最も興味深い文章です。

今日、JenkinsとSSHを使用して展開すると、Jenkinsマシンとオペレータが実際に展開を実行していることを信頼することになります。この配置では、実行時の認証がJenkinsの設定の一部であるため、Jenkinsを信頼することは許容可能なリスクのようです。ここから生じる問題は次のとおりです。ランタイムを信頼していますか?あなたはそれをどのレベルまで信じますか?ランタイムを信頼できない場合(つまり、ランタイム環境が秘密を漏らし、意図しない関係者が簡単にアクセスできるようになった場合)、静的トークンよりも大きな問題が生じる可能性があります。

関連する問題