如何使用Azure门户内的设置限制对App Service的访问

时间:2017-01-31 13:22:53

标签: security azure web-config azure-web-sites azure-web-app-service

我们有一个在Azure中部署为App Service的Web应用程序。我们希望通过提供一个白名单的IP地址来限制对它的访问,这些IP地址可以在某些Azure应用服务设置中完成,而不是在项目内的web.config中完成。

目前,这就是我们在环境中进行IP地址限制的方式。

  • 制作:我们为App Service提供了VNet集成设置。我们将NSG附加到VNet's Subnet,并从NSG我们可以控制入站和出站访问。
  • 暂存:我们的web.config中包含以下配置块,其中包含允许在我们的登台服务器中访问App Service的白名单IP地址。

    <security>
        <ipSecurity allowUnlisted="false" denyAction="NotFound">
            <add allowed="true" ipAddress="some ip address" subnetMask="255.255.255.254"></add>
            <add allowed="true" ipAddress="some ip address" subnetMask="255.255.255.254"></add>
        </ipSecurity>
    </security>
    
  • 开发(本地):我们必须在本地开发机器中取消注释<security>配置块,因为我们并不真正需要它。它会导致错误,请参见下面的截图。

enter image description here

这是HttpFailre_09-07-33.html

的一些内容
Module         IpRestrictionModule
Notification   BeginRequest
Handler        aspNetCore
Error Code     0x80070021
Config Error   This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".

我们希望从web.config中完全删除此<security>块,因为其他原因,我们不希望IP地址达到生产。

而且,我们不允许在我们的临时服务器中进行VNet集成(管理工作,不管怎么说,削减成本!)。

那么有没有办法在Azure App Service中限制IP地址?

2 个答案:

答案 0 :(得分:7)

  

那么有没有办法在Azure App Service中限制IP地址?

1.我们可以使用web.config来限制你提到的IP地址

2.我们可以从IIS管理器连接到WebApp,我们可以轻松配置限制IP。更多详细信息请参考blog

3.我们可以使用REST API来执行此操作,我们可以使用Azure资源管理器(https://resources.azure.com/)轻松完成此操作。我们也可以使用PowerShell cmdlet详细信息,请参阅另一个SO Thread。以下是有关如何使用azure resource explorer执行此操作的简单步骤。

一个。打开azure资源浏览器并选择相应的网站配置网页选项,然后单击编辑按钮。

enter image description here

湾将ipSecurityRestrictions更改为数组值。

enter image description here  enter image description here

℃。点击设置按钮发送请求。

enter image description here

  

配置错误此配置部分不能在此路径中使用

如果我们不解锁处理程序,我们需要解锁处理程序,更多信息请参考另一个SO Thread。以下是来自SO线程的剪辑。

  

1)在连接树(在IIS中)中,转到您的服务器节点,然后转到您的网站。

     

2)对于网站,在右侧窗口中,您将看到管理下的配置编辑器。

     

3)双击配置编辑器。

     

4)在打开的窗口中,您会看到一个下拉部分。选择&#34; system.webServer / handlers&#34;从下拉开始。

     

5)在右侧,还有另一个下拉。 &gt;选择&#34; ApplicationHost.Config&#34;

     

6)在最右边的窗格中,您会找到&#34;解锁部分&#34;在&#34;部分&#34;标题。点击它。

     

7)一旦applicationHost处理程序解锁,您的网站就可以正常运行。

答案 1 :(得分:0)

可以使用powershell Az模块命令- Add-AzWebAppAccessRestrictionRule

在Azure App Service上配置VNet /子网类型访问限制。

https://docs.microsoft.com/en-us/powershell/module/az.websites/add-azwebappaccessrestrictionrule?view=azps-3.2.0