我想做以下事情:
一个Azure WebApp One AzureSQL
我想限制仅为WebApp访问AzureSQL . 所以我做了以下几点:1)创建WebApp
2)创建AzureSQL
3)使用子网和网关创建VNET . 所以我的VNET必须是子网 .
4)在我的WebApp unter“Networking”上,我选择了“connect to my VNET”
5)在网关中我看到“连接:1”
6)在防火墙下的SQL Server中,我将“从Azure访问”转为“关闭”并添加了VNET我的VNET(默认子网)并启用了“服务 endpoints ” .
7)现在我的WebApp中有一个index.php,其中包含以下内容:
$conn = sqlsrv_connect($serverName, $connectionOptions);
但这失败了 . 当我打开SQL Server中的“允许Azure”选项时,一切正常 . 但我想只能从我的WebApp访问 .
那么我做错了什么?你需要更多的信息吗?
谢谢!
1 回答
当您将WebApp连接到Vnet时,它只授予WebApp访问vnet中的资源的权限,同样,当您将SQL Server连接到Vnet时 . 它授予SQL服务器与vnet中的资源交互 . 在这种情况下,没有办法限制只有webapp才能访问SQL服务器 .
但是,ASE可以达到您的目的 . ASE功能可以为大规模安全运行App Service应用程序提供完全隔离的专用环境 .
这是一个类似的案例:How to secure access from App Service To Azure Sql Database using virtual network?