KDW*_*KDW 5 spring-boot microservices docker-compose hashicorp-vault
我对 HashiCorp Vault 用于为 Spring Boot 动态提供数据库机密的用例感到困惑。假设您有两个微服务:一个包含应用程序逻辑,另一个运行数据库引擎。第一个显然需要对数据库进行身份验证,这就是动态秘密发挥作用的地方。Vault 可以向第一个微服务提供此类凭据,因此您不必在管理两个微服务的 docker-compose 文件中使用 ENV 变量等。
该应用程序可以是依赖 Spring Cloud Vault 的 Spring Boot 微服务来处理与 HashiCorp Vault 的通信以进行凭证管理。微服务启动时会要求 Vault 提供临时数据库凭据(在本例中它们持续一小时)。在此一小时的时间间隔内,应用程序可以连接到数据库并执行任何需要执行的操作。一小时后,凭据将过期并且不允许进行任何通信。
Spring Boot Cloud Vault 文档提到
当达到最大租用时间时,Spring Cloud Vault 不支持获取新凭据并使用它们配置数据源。也就是说,如果 Vault 中数据库角色的 max_ttl 设置为 24h,则意味着应用程序启动 24 小时后将无法再通过数据库进行身份验证。
换句话说,一小时后,连接丢失,除了重新启动微服务之外,似乎没有其他方法可以获取新的数据库凭据。那么如果有以下问题:
我的猜测是 Vault 与 Spring Boot 的预期用途与我的理解不同。
归档时间: |
|
查看次数: |
956 次 |
最近记录: |