1

当我使用 Spring Cloud Vault starter 的应用程序向 Vault 请求信息时,它会在通用机密后端搜索以下路径:

  • 秘密/myapp/保险库
  • 秘密/myapp/dev
  • 秘密/myapp

  • 秘密/应用程序/保险库
  • 秘密/应用程序/开发
  • 秘密/申请

正如你所看到的,它对 Vault 做了很多请求,这是一个问题,因为 Vault 会创建很多不必要的日志,这有几个原因是不好的。

如何更改请求的路径?

例如,我希望我的应用程序转到 secret/myapp/{profile} ,仅此而已。

4

1 回答 1

1

您可以采取两种方法:

  1. 设置spring.cloud.vault.generic.default-context为空值。
  2. 自定义Spring Vault 访问的路径。
  3. 在激活的配置文件较少的情况下运行您的应用程序。

Spring Vault 基于应用程序名称与您激活的配置文件相乘以及基于通用名称与活动配置文件相乘创建路径矩阵。

在引导上下文中提供一个VaultConfigurerbean 可以让您最大程度地控制 Spring Cloud Vault 访问的路径:

public class MyVaultConfigurer implements VaultConfigurer {

    @Override
    public void addSecretBackends(SecretBackendConfigurer configurer) {

        configurer.add("secret/my-application");

        configurer.registerDefaultGenericSecretBackends(false);
        configurer.registerDefaultDiscoveredSecretBackends(true);
    }
}
于 2018-03-27T09:32:26.343 回答