如何解决未加载 Micronaut GCP 机密
我正在 GCP 云上运行 Mirconaut 应用程序,并在私有 ip 上运行 Cloud sql 数据库。
DB 密码存储在 GCP 云机密中,我需要在创建与 DB 的连接之前加载机密
我已按照此处的指南进行操作:https://micronaut-projects.github.io/micronaut-gcp/3.4.0/guide/index.html#secretManager
但我从来没有预先加载过这个秘密。
这是我的 bootstrap.yml 的样子:
micronaut:
application:
name: test
config-client:
enabled: true
gcp:
secret-manager:
keys:
- db-user-password
这是我的 application.yml 数据库配置:
micronaut:
application:
name: test
config-client:
enabled: true
datasources:
default:
url: jdbc:postgresql:///test?cloudSqlInstance=testcloudSqlInstance&socketFactory=com.google.cloud.sql.postgres.SocketFactory
name: test
username: user
password: ${sm.db-user-password}
dialect: POSTGRES
maximumPoolSize: 15
minimumIdle: 5
jpa:
default:
packages-to-scan:
- "com.test"
entity-scan:
packages: 'com.test'
properties:
hibernate:
hbm2ddl:
auto: none
show_sql: false
liquibase:
datasources:
default:
enabled: true
dropFirst: false
defaultSchema: public
change-log: 'liquibase-changelog.xml'
Micronaut 版本:2.3.2 Micronaut gcp 版本:3.4.0
解决方法
- 启用日志记录
<logger name="io.micronaut.context.env.PropertySourcePropertyResolver" level="TRACE"/>
-
检查谷歌凭据
-
检查应用程序的服务帐户是否为每个机密设置了“Secret Manager Secret Accessor”角色
-
看起来占位符应该是
${sm.db.user.password}
而不是${sm.db-user-password}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。