我能够像其他数据库连接一样成功连接到RDS。 我使用spring jpa数据(存储库)对postgres db进行CRUD操作。 目前,我在属性文件中提供了db url和凭据
spring:
datasource:
url: jdbc:postgresql://<rds-endpoint>:5432/<dbschema>
username: <dbuser>
password: <dbpassword>
但是,在连接到生产或预生产时,这不是选项。 这里的最佳做法是什么? AWS是否提供任何内置机制来像访问S3一样从端点读取这些详细信息?
我的意图不是公开密码。
答案 0 :(得分:3)
您可以使用几种选择:
对于2和3,使用PropertyPlaceholderConfiguration和AWSSimpleSystemsManagement客户端(GetParameter请求)在Spring中启动应用程序时查找密码。 SystemsManager can proxy requests到SecretsManager,以在代码中保留一个接口来访问参数。
IAM凭证在以下方面更安全:
答案 1 :(得分:0)
我发现的另一个通用选项是使用AWS Secret Manager (doc link)
RDS特定的解决方案是使用IAMDBAuth连接到DB Instance Using the AWS SDK