我正在尝试使用Spring Cloud的AWS Secrets Manager配置(spring-cloud-aws-secrets-manager-config)使用来自AWS Secret Manager的秘密来初始化我的应用程序。我遇到了一个关于机密如何组织的问题,因为我的组织没有严格遵循Spring中指定的约定,因此我们无法更改它。具体来说,我有一个dev-MyAppName
形式的秘密,其中包含我的应用程序可以执行其功能的所有秘密。
我尝试了以下bootstrap.properties配置,但无济于事:
aws.secretsmanager.prefix=
aws.secretsmanager.defaultContext=
aws.secretsmanager.name=dev-MyAppName
在application.properties中具有以下内容:
spring.application.name=dev-MyAppName
,还为应用程序属性中的本地开发人员添加了以下内容:
cloud.aws.region.static=us-east-1
cloud.aws.stack.auto = false
我确实在localhost:8080 / actuator / env路径上的env中看到条目,其中Spring Cloud报告客户端主机名和IP,这表明Spring正在引导,但是目前尚不清楚如何使配置引导程序适应使用我的最优密钥获得真正重要的秘密。我相信在这种情况下,spring会尝试查找键/ dev-MyAppName,但这不是我公司所使用的约定。
我还注意到,Secrets Manager似乎使用了与参数存储中相同的概念,但是我认为相同的问题也可能存在,因为我在参数存储中选择的模式与我非常相似org。