我在fargate集群中运行了一个spring boot dockerize应用程序,该应用程序使用aurora DB。 我想将数据库密码和API密钥存储在AWS Secret Manager中。我的想法是从Application中创建一个API并从Secret Maneger中获取秘密。但是架构师说这不是最好的方法。
还有其他更好的方法来实现这一目标吗?
答案 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,这也可以用于处理轮换凭证。