SpringCloud + Hashicorp Vault + Hashicorp 领事

问题描述

我正在测试 Vault + Consul 之间的集成,以保存我的机密并将它们存储在多台机器中。我可以毫无问题地从 Vault 中查看和插入/检索我的机密。

现在我正在尝试配置 SpringCloud 以从 Vault 使用我的机密(我遵循页面 https://cloud.spring.io/spring-cloud-vault/reference/html/)并且我的 bootstrap.yml 与示例类似:

    host: localhost
    port: 8200
    scheme: https
    uri: https://localhost:8200
    connection-timeout: 5000
    read-timeout: 15000
    config:
        order: -10

它也能用!我的应用程序可以看到 Vault 中的机密。

现在,我想了解的是领事如何与此相关联?因为在使用Consul的时候我在想不需要插入Vault的地址,Consul应该负责通知这个。但我没有发现任何与此相关的有用信息。

这里有什么想法吗?或者领事只会存储我的秘密而我仍然需要连接到 Vault?

解决方法

Consul 和 Vault 之间有几个潜在的集成点。

Consul 可用作 Vault (https://www.vaultproject.io/docs/configuration/storage/consul) 的存储后端。在 Vault 1.4 之前,Consul 是 Vault 推荐的存储后端。 Vault 1.4.0 为 Vault 自己的集成存储 (https://www.vaultproject.io/docs/concepts/integrated-storage) 引入了全面可用性,从而消除了对 Consul 的依赖。

集成产品的另一种方式是使用 Vault 的 Consul Secrets Engine 获取访问 Consul 的身份验证令牌。 Spring Cloud Vault 使用它通过 Vault (https://cloud.spring.io/spring-cloud-vault/reference/html/#vault.config.backends.consul) 获取 Consul 令牌。

如果在 Vault 中存储机密/密钥满足您的需求,则没有理由将 Consul 添加到您的环境中。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...