web-dev-qa-db-ja.com

州の一部としてファイルではなくソルトピラーにSSH秘密鍵を保存する理由はありますか?

相互にパスワードなしのSSHアクセスを必要とする一連のシステム(AWS内)があります。キーペア(以前に生成したパブリック/プライベートSSH-RSAキー)をコピーし、ユーザーのauthorized_keysファイルに適切なエントリを追加するSalt状態を作成しました。

現在、公開鍵と秘密鍵をファイルとしてソルト状態で保存し、状態定義でそれらを調達しています。ただし、 salt.states.file.managed()ドキュメント で、秘密鍵をPillarに格納し、contents_pillarを使用して秘密の内容を取得する例を提供していることに気付きました。キー。

州のディレクトリにあるファイルだけでなく、秘密(または公開)キーの内容をPillarに保存したい理由はありますか?とにかくコンテンツがすべてのシステムに行き着くので、そこに配置することでセキュリティ上の利点があるかどうかはわかりません。 Pillarを他のいくつかの目的で使用しましたが、ここで使用するのに適したケースがあるかどうかはわかりませんでした。

2
Devin

すべての状態はすべてのミニオンから読み取ることができるので、(適切な権限を持つ)誰かがあなたのミニオンにログインすると、あなたが状態に保存している秘密鍵を読み取ることができます。

柱のデータは関連するミニオンに制限できます。これは、1人または一部のミニオンの機密情報を保存する場所です。

柱のドキュメントページを読む必要があります: http://docs.saltstack.com/en/latest/topics/pillar/index.html

このメモがあります:

機密データの保存

状態ツリーとは異なり、ピラーデータは、マッチャータイプで指定されたターゲットミニオンでのみ使用できます。これにより、特定のミニオンに固有の機密データを保存するのに役立ちます。