我尝试使用基于 Azure AD 身份验证的点到站点 VPN 连接来连接到 Azure SQL 数据库。我可以毫无问题地连接 VPN,并且获得绿色状态,表明一切已连接。但是,我无法访问数据库。
数据库设置为只允许某些IP访问,所以我们想使用VPN来访问数据库。 VPN 已设置为可以与 VNET 连接,并且 VNET 连接到 SQL 数据库。
我在设置 VPN 和 VNET 期间遵循了以下教程:
在 Stackoverflow 上,我发现了 this 问题,其中指出我想做的事情是不可能的。然而,这篇文章是 2018 年的。所以我想知道它是否已经有效了?
我尝试在我的环境中重现相同的结果并得到以下结果:
使用 Azure 证书创建了 Azure 点到站点 Azure 虚拟网络网关,如下所示:
生成客户端和根证书并导出为公钥并成功连接到 VPN 客户端,如下所示:
参考:使用 Azure 证书身份验证配置点到站点 VPN 连接
使用私有端点创建 SQL 数据库,如下所示:
确保禁用 SQL Server 中的公共访问并使用
Microsoft SQL/server
尝试新的专用端点,如下所示:
。
尝试将虚拟机登录到远程桌面并在连接到服务器中安装 SQL Server Management Studio,在服务器名称中输入托管实例的完全限定主机名,如下所示:
当我尝试连接我的私有IP地址时,它连接成功,如下所示:
参考文献:
您好,请使用以下步骤。
首先您需要配置 Azure VPN 客户端
然后:
导航到 SQL Server 的“防火墙和虚拟网络”,并确保将“拒绝公共网络访问”设置为“是”。
创建 Azure 专用端点。它将在您的虚拟网络中为 SQL Server 创建端点,并将从子网的 IP 范围内为其分配专用 IP。 您将使用此私有 IP 连接到 SQL Server。 在本地计算机上,确保已连接到 VPN 并打开 SQL Server Management Studio:
在“服务器名称”下输入在步骤 2 中创建的 Azure 专用终结点的专用 IP 地址。
在“登录”字段下,输入用户名,格式为“username@public_sql_server_name”(例如 [email protected])。 对于密码,只需输入您的密码即可。
最后要做的事情是单击“选项”并导航到“连接属性”。确保选中“加密连接”和“信任服务器证书”。
这是必需的,因为服务器的证书颁发给“my-sql-server.database.windows.net”并且您通过私有 IP 访问它。如果未选中此项,管理工作室将不会信任服务器的证书并会拒绝连接。
专用终结点是通过 S2S(和 P2S)VPN 连接 Azure SQL 的唯一方法:https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-overview / https ://learn.microsoft.com/en-us/azure/azure-sql/database/private-endpoint-overview?view=azuresql。
VNet 规则又名服务端点仅适用于从 Azure VNet 子网到 SQL 资源:https://learn.microsoft.com/en-us/azure/azure-sql/database/vnet-service-endpoint-rule-overview?view =azuresql