У меня есть 3 веб-приложения Azure, которые должны иметь возможность соединяться друг с другом.
Одно работает с веб-сайтом FE - к нему нужно получить доступ извне .
Два других я просто запускаю службы, которые использует сайт FE. Нет необходимости в том, чтобы они были открытыми для общего доступа, и поэтому я хотел бы ограничить это.
Как лучше всего ограничить общий доступ к двум веб-приложениям, но при этом разрешить общий доступ к сайту FE?
Чтобы веб-приложение было ограничено для общего доступа, вы должны либо развернуть его в Azure vlan, который не имеет общего доступа и имеет брандмауэр между общедоступной и частной Azure или просто ограничить доступ на уровне веб-сервера. Последний не защищает вас от интернет-атак, в отличие от брандмауэра.
В качестве простейшего решения вы можете ограничить свое веб-приложение на уровне веб-сервера по IP или аутентификации.
Ограничение доступа по IP
Возможный вариант — ограничить доступ к вашему приложению по IP-адресам. IP-адреса можно добавить в качестве разрешенных IP-адресов в web.config вашего приложения. Все остальные IP-адреса получат от Azure ответ 403 Forbidden.
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<clear />
<add ipAddress="83.116.19.53"/> <!-- block one IP -->
<add ipAddress="83.116.119.0" subnetMask="255.255.255.0"/> <!--block network 83.116.119.0 to 83.116.119.255-->
</ipSecurity>
</security>
</system.webServer>
Ограничить доступ для определенных пользователей
Еще один вариант — ограничить доступ, включив аутентификацию в веб-приложении. Это можно сделать для нескольких поставщиков аутентификации, таких как Azure Active Directory, Google, Facebook, Twitter и Microsoft. Следующие шаги помогут вам настроить Azure Active Directory в качестве поставщика проверки подлинности.