2017-01-30 7 views
3

私は人間、サービス、および秘密の店舗間の相互作用を理解しようとしています。私は、HashiCorp Vaultのドキュメンテーションとチュートリアルを見て、より理解を深めてみました。私はVaultを使用しています。サービスは秘密ストアにアクセスします

ユースケースは、秘密情報(db接続文字列など)を取得するためにサービスがVaultにアクセスする必要がある場合です。 Vaultにアクセスするための資格情報でサービスを設定する人間は、その資格情報も知っていて、いつでもそのサービスを偽装することができるようです。

一方、Vaultがサービスのアイデンティティプロバイダでもある場合、サービス初期化時に使用される1回限りの初期クレデンシャルを提供できます。その後、これらは回転されます。その時点で、人間は「通常の操作」中に設定したサービスに偽装することはできません。

しかし、私はドキュメントでこのユースケースを読んでいないので、私は混乱しています。

明確にするために、最終的に誰かが信頼されなければならないことを理解しています。たとえば、opsエンジニアは自身の資格情報を使ってVaultにアクセスし、同じデータベースのパスワードを取得できます。これにより、ユーザーはアクセスできますが、そのユーザーはそのサービスを偽装することはできません。 opsエンジニアが初期化後にVaultにアクセスするためのサービスの独自の認証情報も知っている必要がありますか?

答えて

1

Vaultでは、複数のサービス(主にデータベース)用の1回限りのクレデンシャルの作成をサポートしています。ドキュメントのSecret Backendセクションを参照してください。疑わしいデータアクセスが発見されたとき、それは、監査がはるかに容易になり、独自の資格情報を使用してデータベースにアクセスするすべてのサービスを::

さらに、それは新しい能力が導入されています

mysqlのバックエンドは、以下の記述が含まれてすることができますSQLユーザー名に基づいてサービスの特定のインスタンスまで追跡します。

+0

私は理解していますが、mysqlの資格情報_from_Vaultを取得したいアプリケーションサービスはどうでしょうか?それを設定している場合、いつでもVaultにmysql資格情報を尋ねて、アプリケーションサービスを装うことはできませんか? – allstar

+0

AppRoleを使用して開発者と管理者の間でログインを分割するなど、ベスト・プラクティスがたくさんありますが、最終的には自分自身をすべて設定する人物として信頼しないと、 Vaultが自分からあなたを救うことができない –

+0

ある時点で、確かに会社の誰かが信頼されるべきですが、shamirキーシャーディングがこれらのルートキーにも当てはまる理想的なアプローチであるようです。それ以外の場合は、アクセスキーがわかっていれば、何らかの形で内部違反から身を守っていますか? – allstar

関連する問題