我有一个带有私有端点的密钥库。 我想使用 azure cli 通过 VPN 访问它。
我部署了虚拟网络网关,我可以连接到我的 vnet(通过运行 ip config 进行验证)。
跑步
nslookup my-keyvault-1.vault.azure.net
给我:
Server: UnKnown
Address: 192.168.86.1
Non-authoritative answer:
Name: azkms-prod-weu-b.westeurope.cloudapp.azure.com
Address: 20.51.102.232
Aliases: my-keyvault-1.vault.azure.net
my-keyvault-1.privatelink.vaultcore.azure.net
data-prod-weu.vaultcore.azure.net
data-prod-weu-region.vaultcore.azure.net
但是跑步:
az keyvault secret list --vault-name my-keyvault-1
给我一个错误:
(禁止) 公网访问被禁止且请求不是来自 受信任的服务或通过批准的私人链接。
如何通过 VPN 访问我的 keyvault? 非常感谢任何帮助。
如 ns 查找所示,您仅收到 keyvault 的 dns 名称,而不是 IP 地址。这是因为 VPN 不为您提供 DNS,而仅提供网络访问权限。
您需要的是本地 DNS 服务器来了解这些 DNS 条目应显示的端点。您可以通过手动配置主机文件来完成此操作(足以用于开发目的)
1.2.3.4 my-keyvault-1.vault.azure.net
或者您可以在本地/本地 DNS 服务器上执行相同的操作
这是解决这个问题最简单、最快的方法。但是,如果您正在实施大型设置(=资源的动态更改,可能有数百或数千个资源),您应该考虑使用私有 DNS 解析器:
这里是旧的、更复杂但便宜的方法的链接:https://learn.microsoft.com/en-us/azure/hdinsight/connect-on-premises-network#create-custom-dns-server
这是现代的、不太复杂但昂贵的方式:https://learn.microsoft.com/en-us/azure/dns/private-resolver-hybrid-dns#azure-dns-private-resolver