AWS Secret Manager最佳实践

时间:2019-12-06 04:24:49

标签: amazon-web-services spring-boot docker aws-secrets-manager

我在fargate集群中运行了一个spring boot dockerize应用程序,该应用程序使用aurora DB。 我想将数据库密码和API密钥存储在AWS Secret Manager中。我的想法是从Application中创建一个API并从Secret Maneger中获取秘密。但是架构师说这不是最好的方法。

还有其他更好的方法来实现这一目标吗?

3 个答案:

答案 0 :(得分:2)

您将要使用IAM Database authentication。为Fargate任务分配IAM角色,并具有访问Aurora群集和权限的权限!不需要密码。

答案 1 :(得分:2)

ECS提供了一个使用Secrets Manager:https://docs.aws.amazon.com/AmazonECS/latest/userguide/specifying-sensitive-data-tutorial.html为集群指定敏感数据的教程。

对于数据库凭证,如果您的应用程序是用Java编写的,则向应用程序提供旋转安全凭证的最佳方法是使用AWS提供的JDBC客户端库:https://github.com/aws/aws-secretsmanager-jdbc。然后,由于该库将自动从Secrets Manager中提取并在身份验证失败时重试连接,因此您可以安全地设置数据库凭据的轮换。

答案 2 :(得分:1)

您是否考虑过让代码直接调用Secrets Manager API?我不建议在已有API的情况下构建API,这也可以用于处理轮换凭证。

起点:AWS Java SDK Documentation