【微服务安全】使用Spring Cloud Vault Config管理数据库帐户
Spring Cloud Vault Config允许您的Spring应用程序从Hashicorp Vault检索配置数据。此外,您可以让Vault管理应用程序的数据库帐户。
这是通过名为“数据库”的秘密后端实现的,该后端允许Vault为每个请求访问的实例动态创建数据库帐户。在本文中,我们将讨论为什么这可能是您想要的,以及如何在SpringCloudVault配置中使用它。
为什么你应该关心
凭据是敏感信息,无论其管理方式如何。因此,减少凭证受损的影响并增加攻击者的负担是解决凭证相关问题的几种方法之一。
对于机器使用的帐户,很难实现真正适用于人类帐户、交互式确认或多因素身份验证的好方法。
减少凭证丢失影响的一种方法是限制其使用期限:使用期限已过的被盗凭证毫无价值(希望看看你,密码轮换要求和“password-7”、“password-8”…)。
除了限制凭证可以使用的时间外,还可以限制可接受的使用量。如果一次性代币已经用完,那么事后再偷是没有意义的。
【Java语言高级开发】hashicorp vault Java应用程序演示
一旦了解了Vault的基本原理,下一步就是开始将系统与Vault集成,以保护组织的机密。
本教程是一个网络研讨会的配套,其中包括如何使用Vault在公共云中管理机密、访问和加密的现场演示。
https://youtu.be/NxL2-XuZ3kc
本演示中的Java应用程序利用了Spring Cloud Vault库,该库为在分布式环境中连接到Vault提供了轻量级客户端支持。
挑战
暴露敏感信息的数据泄露事件成为头条新闻的频率比我们喜欢听到的频率更高。无论数据是在传输中还是在静止中,通过加密来保护数据变得越来越重要。然而,自己创建一个高度安全和复杂的解决方案需要时间和资源,当组织面临持续的威胁时,这些都是需要的。
解决方案
Vault集中管理用于保护数据的加密服务。您的系统可以通过Vault API轻松地与Vault通信,以加密和解密您的数据,而且加密密钥永远不必离开Vault。