从机密存储桶中提取“ spring.datasouce.password”的正确方法是什么?

时间:2019-10-07 17:40:36

标签: spring configuration passwords google-cloud-storage spring-jdbc

我有一个带有不同application- {env} .properties文件的Spring Boot App。 在每个文件中,我都有配置

spring.datasource.url=jdbc:mysql://google/db?cloudSqlInstance=app-qa:us-central1:app-qa1-cloudsql-0&socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL=false&user=${spring.datasource.username}&password=${spring.datasource.password}
spring.datasource.username=user
spring.datasource.password=password

但是为了安全起见,我想在代码库中对密码进行硬编码,并使其引用Google Cloud Storage存储桶。

a)使用Spring Boot可以实现吗?如果是这样,我应该如何实施呢?

b)这是隐藏密码的最佳方法吗?如果没有,我应该怎么做呢?

1 个答案:

答案 0 :(得分:1)

您应该能够将键/值对添加到存储桶的元数据中。有关将元数据添加到Google Cloud Storage存储桶的详细信息,请参见此处:https://cloud.google.com/storage/docs/viewing-editing-metadata

添加后,您可以通过属性使用键值来引用它,例如:$ {MY_PASSWORD}

以下是处理凭据的一些替代方法:

https://www.baeldung.com/java-google-cloud-storage

相关问题