Запуск стороннего кода в функции Azure (проблемы безопасности)

#azure-functions

Вопрос:

Я создаю веб-сайт, похожий на dotnetfiddle.сеть, где любой желающий может отправить код на C#. Я планировал создать функцию Azure, которая будет компилировать и запускать код. Мне интересно, может ли вредоносный код каким-то образом испортить мою среду Azure? Или выполнение каждой функции полностью изолировано?

Комментарии:

1. Короче говоря, это зависит от того, что разрешено выполнять вашей функции, например, находится ли она в виртуальной сети, которая занесена в белый список в брандмауэре вашей базы данных prod? Есть ли у него разрешение на развертывание шаблонов ARM? и так далее…

Ответ №1:

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

См.: https://docs.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=dotnet

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

См.: https://docs.microsoft.com/en-us/azure/azure-functions/functions-networking-options