Руководство. Подключение веб-приложения к Конфигурация приложений Azure с помощью Соединителя служб
Статья
Узнайте, как подключить приложение ASP.NET Core, работающее в службе приложение Azure, к Конфигурация приложений Azure с помощью одного из следующих методов:
Назначаемое системой управляемое удостоверение (SMI)
Выполните следующие действия, чтобы создать Служба приложений и развернуть пример приложения. Убедитесь, что у вас есть роль участника подписки или владельца.
Создайте службу приложений и разверните пример приложения, использующего управляемое удостоверение, назначаемое системой, для взаимодействия с конфигурацией приложения.
# Change directory to the SMI sample
cd serviceconnector-webapp-appconfig-dotnet\system-managed-identity
# Create a web app
LOCATION='eastus'
RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
APP_SERVICE_NAME='webapp-appconfig-smi'
az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
Параметр
Описание
Пример
Расположение
Выберите ближайшее к вам расположение. Используйте az account list-locations --output table для вывода списка расположений.
eastus
Имя группы ресурсов
Вы будете использовать эту группу ресурсов для упорядочивания всех ресурсов Azure, необходимых для выполнения этого руководства.
service-connector-tutorial-rg
Имя службы приложений
Имя службы приложений используется в качестве имени ресурса в Azure и для формирования полного доменного имени приложения в виде конечной точки https://<app-service-name>.azurewebsites.comсервера. Это имя должно быть уникальным для всех azure, и только допустимые символы: A-Zи .-0-9
webapp-appconfig-smi
Создайте службу приложений и разверните пример приложения, использующего управляемое удостоверение, назначаемое пользователем, для взаимодействия с Конфигурацией приложения.
# Change directory to the UMI sample
cd serviceconnector-webapp-appconfig-dotnet\user-assigned-managed-identity
# Create a web app
LOCATION='eastus'
RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
APP_SERVICE_NAME='webapp-appconfig-umi'
az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
Параметр
Описание
Пример
Расположение
Выберите ближайшее к вам расположение. Используйте az account list-locations --output table для вывода списка расположений.
eastus
Имя группы ресурсов
Вы будете использовать эту группу ресурсов для упорядочивания всех ресурсов Azure, необходимых для выполнения этого руководства.
service-connector-tutorial-rg
Имя службы приложений
Имя службы приложений используется в качестве имени ресурса в Azure и для формирования полного доменного имени приложения в виде конечной точки https://<app-service-name>.azurewebsites.comсервера. Это имя должно быть уникальным для всех azure, и только допустимые символы: A-Zи .-0-9
webapp-appconfig-umi
Создайте управляемое удостоверение, назначаемое пользователем. Сохраните выходные данные во временной блокноте.
az identity create --resource-group $RESOURCE_GROUP_NAME -n "myIdentity"
Создайте службу приложений и разверните пример приложения, использующего субъект-службу для взаимодействия с конфигурацией приложения.
# Change directory to the service principal sample
cd serviceconnector-webapp-appconfig-dotnet\service-principal
# Create a web app
LOCATION='eastus'
RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
APP_SERVICE_NAME='webapp-appconfig-sp'
az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
Параметр
Описание
Пример
Расположение
Выберите ближайшее к вам расположение. Используйте az account list-locations --output table для вывода списка расположений.
eastus
Имя группы ресурсов
Вы будете использовать эту группу ресурсов для упорядочивания всех ресурсов Azure, необходимых для выполнения этого руководства.
service-connector-tutorial-rg
Имя службы приложений
Имя службы приложений используется в качестве имени ресурса в Azure и для формирования полного доменного имени приложения в виде конечной точки https://<app-service-name>.azurewebsites.comсервера. Это имя должно быть уникальным для всех azure, и только допустимые символы: A-Zи .-0-9
webapp-appconfig-sp
Создайте субъект-службу, обязательно замените фактический yourSubscriptionID идентификатор подписки. Сохраните выходные данные во временной блокноте.
az ad sp create-for-rbac --name myServicePrincipal --role Contributor --scopes /subscriptions/{yourSubscriptionID}/resourceGroups/$RESOURCE_GROUP_NAME
Предупреждение
Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, требует очень высокого уровня доверия к приложению и несет риски, которые отсутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как управляемые удостоверения, не являются жизнеспособными.
Создайте службу приложений и разверните пример приложения, использующего строка подключения для взаимодействия с App Config.
# Change directory to the service principal sample
cd serviceconnector-webapp-appconfig-dotnet\connection-string
# Create a web app
LOCATION='eastus'
RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
APP_SERVICE_NAME='webapp-appconfig-cs'
az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
Параметр
Описание
Пример
Расположение
Выберите ближайшее к вам расположение. Используйте az account list-locations --output table для вывода списка расположений.
eastus
Имя группы ресурсов
Вы будете использовать эту группу ресурсов для упорядочивания всех ресурсов Azure, необходимых для выполнения этого руководства.
service-connector-tutorial-rg
Имя службы приложений
Имя службы приложений используется в качестве имени ресурса в Azure и для формирования полного доменного имени приложения в виде конечной точки https://<app-service-name>.azurewebsites.comсервера. Это имя должно быть уникальным для всех azure, и только допустимые символы: A-Zи .-0-9
Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, требует очень высокого уровня доверия к приложению и несет риски, которые отсутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как управляемые удостоверения, не являются жизнеспособными.
Импортируйте файл конфигурации теста в Конфигурация приложений Azure с помощью строка подключения.
Создайте подключение между веб-приложением и хранилищем Конфигурация приложений с помощью проверки подлинности управляемого удостоверения, назначаемого системой. Это подключение выполняется через соединитель службы.
system-identity относится к типу проверки подлинности, назначаемого системой, управляемому удостоверению (SMI). Соединитель служб также поддерживает следующие проверки подлинности: назначаемое пользователем управляемое удостоверение (UMI), строка подключения (секрет) и субъект-службу.
Создайте подключение между веб-приложением и хранилищем Конфигурация приложений с помощью проверки подлинности управляемого удостоверения, назначаемого пользователем. Это подключение выполняется через соединитель службы.
user-identity ссылается на тип проверки подлинности управляемого удостоверения, назначаемого пользователем. Соединитель служб также поддерживает следующие проверки подлинности: назначаемое системой управляемое удостоверение, строка подключения (секрет) и субъект-службу.
Существует два способа найти client-id:
В azure CLI введите az identity show -n "myIdentity" -g $RESOURCE_GROUP_NAME --query 'clientId'.
В портал Azure откройте управляемое удостоверение, созданное ранее и в обзоре, получите значение в разделе идентификатора клиента.
Создайте подключение между веб-приложением и хранилищем Конфигурация приложений с помощью субъекта-службы. Это делается через соединитель службы.
service-principal относится к типу проверки подлинности субъекта-службы. Соединитель служб также поддерживает следующие проверки подлинности: назначаемое системой управляемое удостоверение (UMI), назначаемое пользователем управляемое удостоверение (UMI) и строка подключения (секрет).
Создайте подключение между веб-приложением и хранилищем Конфигурация приложений с помощью строка подключения. Это подключение выполняется через соединитель службы.
secret ссылается на тип проверки подлинности строки подключения. Соединитель служб также поддерживает следующие проверки подлинности: назначаемое системой управляемое удостоверение, назначаемое пользователем управляемое удостоверение и субъект-служба.
Проверка подключения
Чтобы проверить, работает ли подключение, перейдите к веб-приложению https://<myWebAppName>.azurewebsites.net/ из браузера. После того как веб-сайт будет запущен, вы увидите, что отобразится сообщение "Hello. Веб-приложение Azure подключено к Конфигурация приложений ServiceConnector.
Принцип работы
Найдите ниже то, что соединитель служб управляет за кулисами для каждого типа проверки подлинности.
Соединитель службы управляет конфигурацией подключения для вас:
Настройте веб-приложениеAZURE_APPCONFIGURATION_ENDPOINT, чтобы разрешить приложению доступ к нему и получить конечную точку Конфигурация приложений. Доступ к примеру кода.
Активируйте управляемую системой проверку подлинности веб-приложения и предоставьте Конфигурация приложений роль чтения данных, чтобы позволить приложению проходить проверку подлинности в Конфигурация приложений с помощью DefaultAzureCredential из Azure.Identity. Доступ к примеру кода.
Соединитель службы управляет конфигурацией подключения для вас:
Настройте веб-приложение AZURE_APPCONFIGURATION_ENDPOINT, AZURE_APPCONFIGURATION_CLIENTID чтобы разрешить приложению доступ к нему и получить конечную точку конфигурации приложения в коде;
Активируйте управляемую пользователем проверку подлинности веб-приложения и предоставьте Конфигурация приложений роль средства чтения данных, чтобы позволить приложению проходить проверку подлинности в Конфигурация приложений с помощью DefaultAzureCredential из Azure.Identity. Доступ к примеру кода.
Соединитель службы управляет конфигурацией подключения для вас:
Настройте веб-приложениеAZURE_APPCONFIGURATION_ENDPOINT, чтобы разрешить приложению доступ к нему и получить конечную точку Конфигурация приложений. Доступ к примеру кода.
сохраните учетные данные субъекта-службы в WebApp AppSettings AZURE_APPCONFIGURATION_CLIENTID. AZURE_APPCONFIGURATION_TENANTIDи AZURE_APPCONFIGURATION_CLIENTSECRET предоставьте Конфигурация приложений роль читателя данных субъекту-службе, чтобы приложение могло пройти проверку подлинности в Конфигурация приложений в коде с помощью ClientSecretCredentialAzure.Identity.
Соединитель службы управляет конфигурацией подключения для вас:
Настройте веб-приложениеAZURE_APPCONFIGURATION_CONNECTIONSTRING, чтобы разрешить приложению доступ к нему и получить Конфигурация приложений строка подключения. Доступ к примеру кода.
Активируйте управляемую системой проверку подлинности веб-приложения и предоставьте Конфигурация приложений роль чтения данных, чтобы позволить приложению проходить проверку подлинности в Конфигурация приложений с помощью DefaultAzureCredential из Azure.Identity. Доступ к примеру кода.
Обновите значение ключа SampleApplication:Settings:Messages в хранилище Конфигурация приложений.
az appconfig kv set -n <myAppConfigStoreName> --key SampleApplication:Settings:Messages --value hello --yes
Перейдите к веб-приложению Azure, перейдя на https://<myWebAppName>.azurewebsites.net/ страницу и обновив страницу. Вы увидите, что сообщение обновляется до "hello".
Очистка ресурсов
После завершения, если вы больше не собираетесь использовать эти ресурсы Azure, удалите их, выполнив az group delete команду. Эта команда удаляет группу ресурсов и все ресурсы в ней.
az group delete -n <myResourceGroupName> --yes
Следующие шаги
Дополнительные сведения о соединителе служб см. в приведенных ниже учебниках.