【发布时间】:2021-08-31 15:07:55
【问题描述】:
Spring cloud vault 允许连接到具有属性“spring.cloud.vault.namespace”的命名空间。我有一个用例来读取存储在不同命名空间中的秘密。 sprint 云库可以做到这一点吗?还是有其他方法?
谢谢
【问题讨论】:
Spring cloud vault 允许连接到具有属性“spring.cloud.vault.namespace”的命名空间。我有一个用例来读取存储在不同命名空间中的秘密。 sprint 云库可以做到这一点吗?还是有其他方法?
谢谢
【问题讨论】:
命名空间是通过客户端通过在RestTemplate中注册一个ClientHttpRequestInterceptor和ExchangeFilterFunction在WebClient中来配置的。
此方法的目的是允许客户端身份验证针对适当的命名空间进行身份验证,而无需让每个身份验证机制都知道其命名空间。稍后,VaultTemplate 配置了命名空间客户端,以避免在 VaultTemplate 中配置下游命名空间。
如果您需要使用多个命名空间,最好为每个命名空间配置单独的 SessionManager 和 VaultTemplate 对象。
根据您的身份验证机制(即,如果您使用令牌而不是登录方法),还有其他可能的方法。一个可能包含单个 SessionManager/VaultTemplate,您将命名空间和令牌存储在 ThreadLocal 中,并为与所需命名空间通信的单个 VaultTemplate 提供 ClientHttpRequestInterceptor。
【讨论】: