You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中如何用Azure Key Vault替换application-test.properties的数据库密码

Spring Boot 集成 Azure Key Vault 获取数据库密码(替代sed注入方案)

完全可行,而且比你现在用的sed注入更安全、更符合Spring生态的配置规范,下面是一步步的实操方案,适合Spring Boot新手:

1. 添加Spring Boot Azure Key Vault依赖

在项目构建文件里加入官方starter,它会帮你自动完成Key Vault的集成工作:

Maven(pom.xml)

<dependency>
    <groupId>com.azure.spring</groupId>
    <artifactId>spring-cloud-azure-starter-keyvault-secrets</artifactId>
    <!-- 版本请匹配你的Spring Boot版本,比如Spring Boot 3.x对应5.x系列版本 -->
    <version>5.12.0</version>
</dependency>

Gradle(build.gradle)

implementation 'com.azure.spring:spring-cloud-azure-starter-keyvault-secrets:5.12.0'

2. 配置Key Vault访问与数据库密码引用

删掉application-test.properties里原有的数据库密码配置,替换成以下内容:

# Key Vault基础配置
spring.cloud.azure.keyvault.secret.property-source.enabled=true
spring.cloud.azure.keyvault.uri=https://你的KeyVault名称.vault.azure.net/
spring.cloud.azure.keyvault.client-id=${AZURE_CLIENT_ID}
spring.cloud.azure.keyvault.client-secret=${AZURE_CLIENT_SECRET}
spring.cloud.azure.keyvault.tenant-id=${AZURE_TENANT_ID}

# 数据库配置(密码引用Key Vault中的密钥)
spring.datasource.url=你的测试数据库URL
spring.datasource.username=你的测试数据库用户名
spring.datasource.password=${database-test-password}

说明:

  • database-test-password是你在Azure Key Vault中存储数据库密码时设置的密钥名称,需要提前在Key Vault里创建该密钥并存入密码
  • ${AZURE_CLIENT_ID}等变量不要硬编码,后续通过Azure DevOps Pipeline注入

3. 调整Azure DevOps Pipeline

原来的sed注入步骤可以直接删除,换成以下操作:

  • 在Azure DevOps的「库」中创建变量组,或直接在Pipeline里添加变量:AZURE_CLIENT_ID、AZURE_CLIENT_SECRET、AZURE_TENANT_ID,这些信息来自Azure AD中创建的服务主体(需给该服务主体分配Key Vault的「密钥读取者」权限)
  • 确保Pipeline在构建/部署阶段将这些变量注入为应用的环境变量,Spring Boot会自动读取并填充配置

4. 配置Key Vault访问权限

在Azure Portal中找到你的Key Vault:

  • 进入「访问策略」页面,添加新的访问策略
  • 勾选「密钥权限」中的「获取」权限
  • 选择之前创建的服务主体作为授权主体
  • 保存配置

完成以上步骤后,你的Spring Boot测试环境应用启动时,会自动从Azure Key Vault拉取数据库密码,全程不需要在配置文件中明文存储密码,也无需sed注入操作。

内容的提问来源于stack exchange,提问作者techworm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:12:53