关于将Azure Function连接字符串迁移至Azure Key Vault的技术咨询
Azure Function连接字符串迁移至Key Vault的问题解答
一、连接字符串的存储位置
- 你需要把完整的连接字符串存储在Azure Key Vault的**机密(Secrets)**中,而非密钥(Keys)。
- 密钥(Keys)主要用于加密、签名等密码学操作,适合存储RSA/ECC这类加密密钥;
- 机密(Secrets)专门用来存储敏感字符串(比如连接字符串、API密钥、密码等),完全匹配你当前的需求。
- 存储时直接将完整的连接字符串内容作为机密的值保存即可,格式保持原有的:
AuthType=ClientSecret;ClientId=<clientId>;ClientSecret=<ClientSecret>;Url=<Url>
二、Azure Function配置替换为Key Vault机密URI
完全可以这么操作,核心要点如下:
- 给你的Azure Function启用系统分配或用户分配的托管身份,并在Key Vault的访问策略中为该身份配置机密读取权限;
- 进入Azure Function的配置面板,找到对应的应用设置项,将原连接字符串值替换为Key Vault机密的URI,格式为:
@Microsoft.KeyVault(SecretUri=<机密的完整URI>); - 保存配置后,Function运行时会自动通过托管身份从Key Vault拉取机密值,无需修改代码逻辑。
内容的提问来源于stack exchange,提问作者user1647160
相关产品推荐
相关产品推荐

