Сетевая безопасность учетной записи хранения функций Azure

В настоящее время я работаю с клиентом, который требует максимально возможного доступа ко всем ресурсам Azure, и у меня возникают проблемы с учетной записью хранения, которая используется нашими функциями Azure.

Если для колонки «Брандмауэры и виртуальные сети» на портале установлено значение «Все сети», я могу выполнить развертывание в приложении-функции, и оно будет работать без проблем.

введите описание изображения здесь

Однако, как только я включу ограничение доступа, отметив «Выбранные сети», независимо от того, какие подсети виртуальной сети я ввожу, или IP-адреса, я не могу заставить связь работать.

введите описание изображения здесь

Я ввел исходящие IP-адреса нашего приложения-функции на основе потребления, а также проверяю, что дополнительные IP-адреса из Powershell и все они были добавлены в белый список. Я также добавил все диапазоны IP-адресов CIDR локального центра обработки данных Azure, но опять же это не работает.

Проблема заключается в том, что после введения ограничений доступа мы не можем выполнить развертывание в приложении-функции, и приложение больше не запускается. Поддерживается ли этот сценарий и каков механизм ограничения доступа к учетной записи хранения, чтобы ее могло использовать только приложение-функция.


person Phil Murray    schedule 22.05.2019    source источник
comment
Находятся ли приложение-функция Azure и хранилище Azure в одном регионе? В противном случае вы можете внести исходящий IP-адрес из приложения-функции в белый список брандмауэра хранилища.   -  person Nancy Xiong    schedule 22.05.2019
comment
Да, они находятся в одном регионе и в одной группе ресурсов. Я внес в белый список исходящие IP-адреса, но не могу опубликовать или запустить функцию.   -  person Phil Murray    schedule 22.05.2019


Ответы (1)


Насколько мне известно, у вас есть два варианта ограничения доступа к вашей учетной записи хранения из приложения-функции или веб-приложения.

  1. Добавьте в белый список outboundIpAddresses и possibleOutboundIpAddresses приложения-функции в брандмауэре учетной записи хранения. Однако это не работает, если приложение-функция Azure и хранилище Azure, расположенные в одном регионе, ссылаются на Ответ Сэма.

когда вы используете учетную запись хранения из своей функции, поскольку они находятся в одном регионе, весь трафик проходит по внутренней сети Azure по внутренним IP-адресам, а не по общедоступным IP-адресам, указанным в веб-приложении, и поэтому не допускается брандмауэр.

  1. Если ваши ресурсы находятся в разных регионах, вы можете использовать сетевой раздел приложения-функции, чтобы разрешить приложению-функции доступ к ресурсам в виртуальной сети, а затем включить конечную точку службы для Microsoft.Storage в этой подсети интеграции приложений. Но вам понадобится план Azure Functions Premium со ссылкой на это руководство: интегрировать Работает с виртуальной сетью Azure.

Иногда важен порядок развертывания сети. В этом случае вы развернете следующее:

Во-первых, вы можете развернуть новую интеграцию с виртуальной сетью с неиспользуемой подсетью. После завершения интеграции виртуальной сети и перезапуска приложения-функции вы можете включить конечную точку службы для этой подсети. В конце концов, вы можете добавить подсеть в брандмауэр учетной записи хранения.

Обратите внимание, что новая версия в настоящее время находится в режиме предварительного просмотра. Вы также можете проверить эти характеристики и получите больше ссылок из этого поток.

person Nancy Xiong    schedule 22.05.2019
comment
Таким образом, в основном вам нужно платить за дополнительную пропускную способность, помещая свое приложение-функцию в другой регион ... - person jjxtra; 11.11.2019
comment
Я попробовал сегодня вариант 2 с приложением func в том же регионе, что и хранилище, и работал, но увеличение стоимости до премиум огромно ... - person Sergio Solorzano; 08.03.2020
comment
Серджио Солорзано, У нас была такая же проблема, но вариант 2 нам не подходит. Можете ли вы помочь нам узнать, какие шаги вы выполнили. что действительно полезно - person nagesh bandaru; 21.04.2020