Безопасное подключение к службам и базам данных Azure из Службы приложений Azure

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

Способ подключения Когда использовать
Подключение с помощью удостоверения приложения * Вы хотите подключиться к ресурсу без удостоверений пользователя, прошедшего проверку подлинности, или с помощью удостоверения приложения.
* Вам не нужно управлять учетными данными, ключами или секретами, или учетные данные даже не доступны.
* Управляемые удостоверения можно использовать для управления учетными данными.
* Для доступа к ресурсу Azure требуется удостоверение Microsoft Entra. Например, такие службы, как Microsoft Graph или пакеты SDK для управления Azure.
Подключение как прошедший проверку подлинности пользователь * Вы хотите получить доступ к ресурсу и выполнить некоторые действия в качестве пользователя, вошедшего в систему.
Подключение с помощью секретов * Необходимо передать секреты приложению в качестве переменных среды.
* Вы хотите подключиться к службам, не относящихся к Azure, таким как GitHub, Twitter, Facebook или Google.
* Подчиненный ресурс не поддерживает проверку подлинности Microsoft Entra.
* Для нижестоящего ресурса требуется строка подключения или ключ или секрет определенного рода.

Подключение с помощью секретов

В приложении рекомендуется использовать секреты: использование секретов, хранящихся в Azure Key Vault или секретах в параметрах приложения Служба приложений.

Использование секретов в параметрах приложения

Некоторые приложения получают доступ к секретам с помощью переменных среды. Традиционно Служба приложений параметры приложения использовались для хранения строка подключения, ключей API и других переменных среды. Эти секреты внедряются в код приложения в качестве переменных среды при запуске приложения. Параметры приложения всегда шифруются при хранении. Если вы также хотите использовать политики доступа и журнал аудита секретов, рассмотрите возможность их размещения в Azure Key Vault и использования ссылок Key Vault в параметрах приложения.

Примеры использования секретов приложений для подключения к базе данных:

Использование секретов из Key Vault

Azure Key Vault можно использовать для безопасного хранения секретов и ключей, мониторинга доступа и использования секретов, а также упрощения администрирования секретов приложений. Если нижестоящей службе приложения не поддерживается проверка подлинности Microsoft Entra или требуется строка подключения или ключ, используйте Key Vault для хранения секретов и подключения приложения к Key Vault с помощью управляемого удостоверения и получения секретов.

Преимущества управляемых удостоверений, интегрированных с Key Vault, включают:

  • Доступ к хранилищу ключей открыт только приложению.
  • Участники приложений, например администраторы, могут полностью управлять ресурсами Службы приложений, но в то же время у них нет доступа к секретам Key Vault.
  • Если код приложения уже обращается к секретам подключения с использованием параметров приложения, никакое изменение ему не требуется.
  • Key Vault обеспечивает мониторинг и аудит доступа к секретам.
  • Для смены сведений о соединении в Key Vault не требуются изменения в Службе приложений.

На следующем рисунке показано, как Служба приложений подключиться к Key Vault с помощью управляемого удостоверения, а затем получить доступ к службе Azure с помощью секретов, хранящихся в Key Vault:

Image showing app service using a secret stored in Key Vault and managed with Managed identity to connect to Azure AI services.

Подключение с помощью удостоверения приложения

В некоторых случаях приложение должно получить доступ к данным под удостоверением самого приложения или без вошедшего пользователя. Управляемое удостоверение из идентификатора Microsoft Entra позволяет Служба приложений получать доступ к ресурсам с помощью управления доступом на основе ролей (RBAC), не требуя учетных данных приложения. Управляемое удостоверение может подключаться к любому ресурсу, который поддерживает проверку подлинности Microsoft Entra. Когда вы назначаете веб-приложению управляемое удостоверение, Azure создает и распространяет сертификат. Вам не придется беспокоиться об управлении секретами или учетными данными приложения.

На следующем изображении показана Служба приложений, которая подключается к другим службам Azure:

  • А: пользователь посещает веб-сайт службы приложений Azure.
  • B. Безопасное подключение из Служба приложений к другой службе Azure с помощью управляемого удостоверения.
  • C. Безопасное подключение из Служба приложений к Microsoft Graph с помощью управляемого удостоверения.

Diagram showing managed identity accessing a resource with or without the user's identity.

Подключение как прошедший проверку подлинности пользователь

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

На следующем рисунке показано, как приложение безопасно обращается к базе данных SQL от имени пользователя, вошедшего в систему.

Architecture diagram for tutorial scenario.

Ниже описываются наиболее типичные сценарии применения:

Следующие шаги

Вы узнаете, как выполнять следующие задачи: