Spring Boot - 2.0.0.M3 Spring 云 - Finchley.M1
我想知道是否有人在使用数据库存储后端的生产设置中使用具有 vault 和 git 支持的 Spring Cloud 配置服务器。我已经使用 Vault 评估了 Spring 云配置,并考虑是否使用 Oracle JCE 来加密用户名/密码或 Vault 并寻求相同的建议。我们正在开发 Springboot/微服务。
以下是我的发现 -
Vault 将引入一个额外的层,因此将引入额外的安全用例,在与 Vault 通信时进行审计。
Spring cloud Config 执行器端点在此时为生成加密值而破坏了里程碑版本,如果我们寻求 Oracle JCE 支持,/encrypt /decrypt 可能无法工作,因此我们通过稳定版本生成加密值。
我们不希望使用 consul 服务器,而是尝试使用 Cassandra 作为存储后端。
我使用 AppRole 使用 Vault Authentication 后端并生成了一个具有读取权限的令牌(与根令牌不同,因为使用相同的令牌是不安全的)。但是,Spring Cloud 配置目前仅支持来自客户端的基于 Token 的身份验证。这意味着我们首先从 Vault 生成令牌,然后将其作为命令行/环境变量传递。一些额外的关注点是令牌的到期(尽管我们可以有非到期令牌不确定利弊)、重启、安全问题、实例化新的微服务。云配置端没有提供动态令牌/身份验证。
对于里程碑版本,我发现客户端加密/解密目前无法使用推荐的 RSA jar 包含。这是我打开的票。 https://github.com/spring-cloud/spring-cloud-config/issues/805#issuecomment-332491536
这些是我的一些观察,如果有任何案例研究/白皮书解决生产微服务环境的 Spring Cloud config vault 用例、设置和挑战,请分享您的想法。
谢谢