Azure WebApps サイト単位で IP 制限をする

Build とか SQL Server 2016 RC1 とかの話題が出てますが、気にせずメモ書き。

Microsoft Azure Web Site Cheat Sheet
Cheap and easy IP blocking in Azure Web Apps – Shawn Cicoria

Web.config に書けばいいんですが、諸々の事情でサイト毎に設定したい場合のメモ。

d:\home\site に applicationHost.xdt を配置する。

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <location path="サイト名" xdt:Locator="Match(path)" xdt:Transform="InsertIfMissing">
    <system.webServer xdt:Transform="InsertIfMissing">
      <security xdt:Transform="InsertIfMissing">
        <ipSecurity allowUnlisted="false" denyAction="NotFound" xdt:Transform="Replace">
          <add allowed="true" ipAddress="許可するIP" xdt:Transform="InsertIfMissing"/>
        </ipSecurity>
      </security>
    </system.webServer>
  </location>
</configuration>

location 指定しないと、kudo や site extensions の方*1に対して設定されてしまいました。
これで kudo に繋がらなくなったりします。 そうなった場合は、FTP から applicationHost.xdt を削除すると設定も解除されました。

*1:~.scm.azurewebsites.net