我正在关注 Spring Vault 教程https://docs.spring.io/spring-vault/docs/current/reference/html/index.html并且我已经通过令牌访问成功地将 Java 程序与 Vault 连接起来。在下图中,选项卡编号 1。VaultTemplate vaultTemplate = new VaultTemplate(endpoint, new TokenAuthentication("MySecretToken"));如何使用用户名和密码实例化 VaultTemplate,例如当我们在此选项中通过 Vault WebUI 登录时(选项卡编号 2)?:我正在查看这个 JavaDoc,但选择哪一个并不明显: https ://docs.spring.io/spring-vault/docs/current/api/index.html?overview-summary.html所以换句话说:我如何使用spring-vault,使用用户名+密码而不是令牌连接Vault?或者至少,我需要一个关于如何使用用户名+密码生成令牌的指针
1 回答
九州编程
TA贡献1785条经验 获得超4个赞
正如@h3rmanj 所指出的,Spring Vault 不支持用户名/密码身份验证,因为此方法旨在用于人工身份验证,而不是机器对机器身份验证。
身份验证取决于您的威胁模型以及在发生违规时您可以/希望如何解决凭据的利用问题。使用用户名/密码,您基本上需要锁定被破坏帐户的用户。这是不幸的,因为这些帐户往往与人相关联,您会锁定操作员。
如果您使用 AppRole,您将获得两个因素,并且您可以按应用程序类型隔离帐户。如果您不在多个应用程序中重复使用令牌,那么使用令牌会给您带来最大的灵活性。重用很方便,但如果您遇到违规行为,您必须使所有共享相同令牌的应用程序脱机。因此,分配单个代币具有最高的灵活性和最高的运营开销。
介于两者之间的任何事情都是对潜在违规行为的反应和运营工作量之间的折衷。
HTH。
添加回答
举报
0/150
提交
取消