通过VPN访问带私有端点的Azure Key Vault问题求助
解决通过VPN访问配置私有端点的Azure Key Vault问题
问题根源
从你提供的nslookup结果可以看出,Key Vault域名my-keyvault-1.vault.azure.net被解析到了公网IP(20.51.102.232),而非私有端点的私有IP。由于你的Key Vault已禁用公网访问,公网请求会被拦截,导致出现Forbidden错误。
解决步骤
检查私有端点的DNS配置
- 登录Azure门户,找到Key Vault关联的私有端点,确认对应的专用DNS区域(应为
privatelink.vaultcore.azure.net)已正确链接到你的虚拟网络。 - 进入该专用DNS区域,查看是否存在对应Key Vault的A记录,记录值应为私有端点的私有IP(通常是10.x.x.x这类内网地址)。
- 登录Azure门户,找到Key Vault关联的私有端点,确认对应的专用DNS区域(应为
配置VPN客户端的DNS服务器
你的VPN连接需要使用能解析Azure私有端点域名的DNS服务器,而非本地路由器DNS(当前使用的192.168.86.1无法解析私有域名):- 在VPN连接的属性中,将DNS服务器设置为Azure虚拟网络的DNS服务器IP:
- 若使用Azure默认DNS,填
168.63.129.16; - 若使用自定义DNS,填写对应的服务器IP。
- 若使用Azure默认DNS,填
- 重新连接VPN,使DNS设置生效。
- 在VPN连接的属性中,将DNS服务器设置为Azure虚拟网络的DNS服务器IP:
验证DNS解析正确性
- 执行
ipconfig /flushdns(Windows)或对应系统的DNS缓存清空命令,清除本地缓存。 - 再次运行
nslookup my-keyvault-1.vault.azure.net,确认返回的地址是私有端点的私有IP,而非公网IP。
- 执行
确认Key Vault访问权限
- 检查Key Vault的访问策略,确保你的Azure AD账号拥有
列出机密(List Secrets)的权限。 - 确认Key Vault的防火墙设置中,允许来自虚拟网络(或VPN地址空间)的访问(配置私有端点后该规则通常自动生效,可按需验证)。
- 检查Key Vault的访问策略,确保你的Azure AD账号拥有
测试Azure CLI访问
确保Azure CLI已通过az login登录到正确的账号,再次执行az keyvault secret list --vault-name my-keyvault-1,此时请求会通过VPN走私有网络,应该可以正常访问。
内容的提问来源于stack exchange,提问作者Greg
相关产品推荐
相关产品推荐

