Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Службе приложений может потребоваться подключиться к другим службам Azure, таким как база данных, хранилище или другое приложение. В этом обзоре предлагаются разные методы подключения и указываются случаи их использования.
Сегодня решение о подходе к подключению тесно связано с управлением секретами. Распространенный шаблон использования секретов подключения в строка подключения, таких как имя пользователя и пароль, секретный ключ и т. д., больше не считается наиболее безопасным подходом для подключения. Сегодня риск еще выше, так как субъекты угроз регулярно обходят общедоступные репозитории на GitHub в поисках случайно размещенных секретов подключения. Для облачных приложений лучшее управление секретами заключается в отсутствии секретов вообще. При переходе на Служба приложений Azure приложение может начинаться с подключения на основе секретов, а служба приложений позволяет безопасно хранить секреты. Однако Azure могут обеспечить безопасность внутреннего подключения вашего приложения через проверку подлинности Microsoft Entra, что полностью устраняет секреты в приложении.
| Способ подключения | Когда использовать |
|---|---|
| Подключение с идентификацией приложения | * Вы хотите полностью удалить учетные данные, ключи или секреты из приложения. Подчиненная служба Azure поддерживает проверку подлинности Microsoft Entra, например, Microsoft Graph. * Подчиненный ресурс не должен знать текущего вошедшего пользователя или не требует детализированной авторизации текущего вошедшего пользователя. |
| Подключение от имени вошедшего пользователя | * Приложение должно получить доступ к нижестоящему ресурсу от имени вошедшего пользователя. Подчиненная служба Azure поддерживает проверку подлинности Microsoft Entra, например, Microsoft Graph. * Подчиненный ресурс должен выполнять детализированную авторизацию текущего вошедшего пользователя. |
| Подключение с помощью секретов | * Для нижестоящего ресурса требуются секреты подключения. * Приложение подключается к службам, не Azure, например локальному серверу базы данных. * Конечный сервис Azure ещё не поддерживает аутентификацию Microsoft Entra. |
Подключение, используя удостоверение приложения
Если приложение уже использует один набор учетных данных для доступа к нижестоящей службе Azure, вы можете быстро преобразовать подключение для использования удостоверения приложения. Управляемое удостоверение из Microsoft Entra ID позволяет службе приложений получать доступ к ресурсам без секретов и управлять доступом с помощью контроля доступа на основе ролей (RBAC). Управляемое удостоверение может подключаться к любому ресурсу Azure, который поддерживает проверку подлинности Microsoft Entra, а проверка подлинности осуществляется с использованием кратковременных токенов.
На следующем рисунке показана служба приложений, подключающаяся к другим службам Azure:
- Ответ. Пользователь посещает веб-сайт службы приложений Azure.
- B. Безопасно подключайтесь от App Service к другой службе Azure с помощью управляемой идентификации.
- C: безопасно подключитесь из App Service к Microsoft Graph с помощью управляемого удостоверения.
Примеры использования секретов приложений для подключения к базе данных:
- Учебник: подключение из службы приложений к базам данных Azure без секретов с использованием управляемой идентификации
- Tutorial: подключение к базе данных SQL из службы приложений .NET без секретов с помощью управляемого удостоверения
- Tutorial: подключение к базе данных PostgreSQL из Java службе приложений Tomcat без секретов с помощью управляемого удостоверения
Подключение от имени вошедшего пользователя
Возможно, приложению потребуется подключиться к подчиненной службе от имени пользователя, выполнившего вход. Служба приложений позволяет легко аутентифицировать пользователей с помощью наиболее распространенных поставщиков удостоверений (см. Аутентификацию и авторизацию в Служба приложений Azure и Функции Azure). Если вы используете поставщика Microsoft (Microsoft Entra для аутентификации), вы можете передавать авторизованного пользователя в любую нижестоящую службу. Например:
- Запустите запрос базы данных, возвращающий конфиденциальные данные, которые пользователь, выполнивший вход, имеет право читать.
- Получение персональных данных или выполнение действий в качестве пользователя, вошедшего в систему, в Microsoft Graph.
На следующем рисунке показано, как приложение безопасно обращается к базе данных SQL от имени пользователя, вошедшего в систему.
Ниже описываются наиболее типичные сценарии применения:
- Подключение к Microsoft Graph на правах пользователя
- Подключение к базе данных SQL от имени пользователя
- Подключиться к другому приложению App Service от имени пользователя
- Направьте пользователя, выполнившего вход, через несколько уровней последующих служб
Подключение с помощью секретов
Рекомендуется использовать секреты в вашем приложении двумя способами: или храня их в Azure Key Vault, или в параметрах службы приложений.
Использование секретов из Key Vault
Azure Key Vault можно использовать для безопасного хранения секретов и ключей, мониторинга доступа и использования секретов, а также упрощения администрирования секретов приложений. Если конечный сервис не поддерживает проверку подлинности Microsoft Entra или требует строку подключения или ключ, используйте Key Vault для хранения ваших секретов, подключите свое приложение к Key Vault с помощью управляемого удостоверения и получите секреты из него. Приложение может получить доступ к секретам Key Vault в виде ссылок на Key Vault в параметрах приложения.
Преимущества управляемых удостоверений, интегрированных с Key Vault включают:
- Доступ к секрету хранилища ключей ограничен приложением.
- Участники приложения, такие как администраторы, могут иметь полный контроль над ресурсами App Service и в то же время не иметь доступа к секретам хранилища ключей.
- Если код приложения уже обращается к секретам подключения с использованием параметров приложения, никакое изменение ему не требуется.
- Key Vault обеспечивает мониторинг и аудит того, кто из пользователей получил доступ к секретам.
- Обновление секретов хранилища ключей не требует изменений в Службе приложений.
На следующем рисунке показано подключение службы приложений к Key Vault с помощью управляемого удостоверения, а затем доступ к службе Azure с помощью секретов, хранящихся в Key Vault:
Диаграмма, показывающая использование службы приложений с секретом, хранящимся в Key Vault и управляемым управляемым удостоверением для подключения к Foundry Tools.
Использование секретов в параметрах приложения
Для приложений, подключающихся к службам с помощью секретов (таких как имена пользователей, пароли и ключи API), Служба приложений безопасно хранит их в параметрах приложения. Эти секреты внедряются в код приложения в качестве переменных среды при запуске приложения. Параметры приложения всегда шифруются при хранении (шифрование в состоянии покоя). Для более расширенного управления секретами, таких как смена секретов, политики доступа и журнал аудита, попробуйте использование Key Vault.
Примеры использования секретов приложений для подключения к базе данных:
- Tutorial: развертывание приложения ASP.NET Core и База данных SQL Azure в Служба приложений Azure
- Tutorial: развертывание приложения ASP.NET для Azure с помощью База данных SQL Azure
- Tutorial: развертывание приложения PHP, MySQL и Redis в Служба приложений Azure
- Развернуть веб-приложение Node.js + MongoDB на Azure
- Развернуть веб-приложение Python (Flask) с PostgreSQL на Azure
- Развертывание веб-приложения Python (Django) на PostgreSQL в Azure
- Развернуть веб-приложение на Python (FastAPI) с PostgreSQL в Azure
- Tutorial: создание веб-приложения Tomcat с помощью Azure Служба приложений в Linux и MySQL
- Tutorial: создание веб-приложения Java Spring Boot с помощью Azure Служба приложений в Linux и Azure Cosmos DB
Связанный контент
- Безопасно храните секреты в Azure Key Vault.
- Доступ к ресурсам с помощью управляемого удостоверения.
- Храните секреты с помощью параметров приложения Служба приложений.
- Connect to Microsoft Graph как пользователь.
- Подключитесь к базе данных SQL от имени пользователя.
- Подключитесь к другому приложению App Service от имени пользователя.
- Подключитесь к другому приложению Служба приложений, а затем нижестоящей службе в качестве пользователя.