Сводка
Проверка безопасности Contoso Retail выявила четыре пробела в средствах контроля, из-за которых их бессерверные рабочие нагрузки оказались незащищёнными: неаутентифицированные HTTP-триггеры, строки подключения в открытом виде в параметрах приложения, отсутствие ограничений на входящий сетевой трафик для конечных точек приложения Function и жёстко закодированные учётные данные в общих ресурсах подключения Logic Apps. Этот модуль устранял каждый разрыв с помощью элементов управления, организованных вокруг трех уровней безопасности.
Просмотрите настроенные параметры
Слой аутентификации, который определяет, кто может вызывать приложение Function App, был реализован с помощью встроенной аутентификации Служба приложений Azure. Вы настроили Microsoft Entra ID в качестве поставщика удостоверений EasyAuth, используя проверку подлинности Require, чтобы блокировать неуверенные запросы перед выполнением кода функции. Уровни авторизации функций предоставляют дополнительный уровень: ключи узлов для доступа на уровне приложения, ключи функций для ограничения для каждой функции и анонимный уровень, зарезервированный для конечных точек, защищенных вышестоящим шлюзом.
Уровень идентификации, определяющий, от имени какого субъекта работает приложение-функция при выполнении вызовов к нижестоящим службам, был реализован с помощью системно назначаемого управляемого удостоверения. Если включено управляемое удостоверение и назначены соответствующие роли RBAC, строки подключения больше не хранятся в настройках приложения. В шаблонах оркестрации ИИ, где приложения Function Apps вызывают конечные точки Azure OpenAI, роль Cognitive Services OpenAI User полностью устраняет необходимость хранения ключей API. Ссылки на Key Vault с использованием синтаксиса @Microsoft.KeyVault(SecretUri=...) распространяют этот подход на любой параметр приложения, который ранее содержал секретное значение.
Уровень сетевой изоляции, определяющий, что может обращаться к конечной точке функции, был реализован с помощью ограничений по входящим IP-адресам, частных конечных точек для приложений Function на планах Elastic Premium или Dedicated, а также интеграции с виртуальной сетью для исходящего трафика. Та же трехуровневая модель была применена и к Logic Apps, при этом план Standard предоставляет интеграцию с виртуальной сетью, частные конечные точки и изоляцию в среде одного клиента, которые не поддерживаются планом Consumption. Защита входных данных и безопасных параметров выходных данных для отдельных действий приложения логики защищает конфиденциальные данные от появления в журнале выполнения.