Fabric笔记本中JDBC连接Azure SQL时获取Key Vault密钥失败
解决Fabric笔记本访问禁用公网的Azure Key Vault报错问题
针对你遇到的Client address is not authorized and caller is not a trusted service.错误,给你几个可行的解决方向:
1. 配置Fabric与Key Vault的私有端点连接
这是适配禁用公网场景的最优方案,通过私有网络打通Fabric和Key Vault:
- 在Azure门户给你的Key Vault创建私有端点,选择和Fabric工作区同区域的VNet(或通过VNet对等连接实现跨区域访问)。
- 进入Fabric工作区的网络设置,启用“使用私有端点连接到Azure资源”,关联刚才创建的Key Vault私有端点。
- 完成配置后,Fabric笔记本会通过私有网络访问Key Vault,完全不需要依赖公网IP,彻底解决动态IP白名单无效的问题。
2. 改用Fabric原生的密钥获取方法
放弃PyTridentTokenLibrary,直接使用Fabric内置的工具方法,它会自动适配Fabric的网络环境:
# 替换为你的Key Vault名称和目标密钥名称 pwd = mssparkutils.credentials.getSecret("your-keyvault-name", "your-secret-name")
- 前提:给Fabric工作区的托管标识分配Key Vault的「机密用户(Secret User)」角色,确保具备读取密钥的权限。
3. 校验受信任服务与权限配置
- 再次确认Key Vault防火墙设置里,「允许受信任的Microsoft服务访问此密钥保管库」选项已勾选。
- 检查Key Vault的访问策略,确认Fabric工作区的托管标识(或对应服务主体)拥有
get机密的权限——部分场景下,权限不足会触发类似地址未授权的错误,属于报错信息的误导。
内容的提问来源于stack exchange,提问作者user23744536
相关产品推荐
相关产品推荐

