使用 Spring Cloud Vault 在 Spring Boot 应用程序中自动续订 AWS 凭证



我正在尝试创建一个定期从AWS S3获取数据的Spring Boot应用程序。

AWS S3 凭证在应用程序启动时使用 Spring Cloud Vault 从 Vault 获取。

我的问题是,由于保险库策略,AWS S3 凭证的有效期有限,因此我必须不时重新启动应用程序才能从保险库获取新凭证

有没有办法使用这些凭据自动重新启动 bean?

TL;博士

不,没有自动性,但您可以自己做。

阅读时间越长

SpringBoot 和 Spring Cloud 并不是真正用于在不中断的情况下对配置进行持续更新。Spring Cloud Config附带了刷新范围支持,允许使用@RefreshScope注释bean并触发重新初始化的bean的刷新。此方法需要与消息总线集成或触发刷新终结点。

另一种替代方法仅限于 AWS 功能,即提供自己的AWSCredentialsProvider实施,该实施由对凭证应用轮换的 VaultPropertySource提供支持。这需要您提供一些与VaultConfigurer集成甚至直接通过SecretLeaseContainer集成的代码,以获取机密生命周期事件回调。有关集成示例,请参阅此处。

有一张票要求同样的问题,其中包含为什么这种模式不广泛适用的背景。

相关内容

  • 没有找到相关文章

最新更新