3

我试图了解人类、服务和秘密商店之间的相互作用。我一直在查看 HashiCorp Vault 文档和教程,以尝试更好地理解。我正在使用 Vault 而不是下面更繁琐的“秘密商店”:

用例是当服务需要访问 Vault 以获取机密(例如 db 连接字符串)时。使用凭据配置服务以访问 Vault 的人似乎也知道这些凭据,并且可以随时冒充该服务。

另一方面,如果 Vault 也是服务的身份提供者,它可以提供一次性使用的初始凭据,以便在服务初始化期间使用。然后,这些被轮换出来。此时,人类无法模拟他们在“正常操作”期间设置的服务。

但是,我没有在文档中阅读过这个用例,所以我很困惑。

为了更清楚起见,我知道最终必须信任某人。例如,操作工程师可以拥有自己的凭据来访问 Vault 并获取同一数据库的密码。这将允许用户访问,但不允许该用户模拟服务。是否有任何理由让操作工程师在初始化后还应该知道服务自己的凭据以访问 Vault?

4

1 回答 1

1

Vault 支持为多种服务(主要是数据库)创建一次性使用凭证 - 请参阅文档的Secret Backend部分。

mysql后端包括以下描述:

此外,它引入了一项新功能:每个服务都使用唯一的凭据访问数据库,当发现有问题的数据访问时,它使审计变得更加容易:您可以根据 SQL 用户名将其追踪到服务的特定实例。

于 2017-01-30T22:21:16.493 回答