Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Удостоверения, управляемые Microsoft Entra, упрощают управление секретами для вашего облачного приложения. С помощью управляемого удостоверения ваш код может использовать служебный принципал, созданный для службы Azure, на которой он работает. Вы используете управляемое удостоверение, а не отдельные учетные данные, хранящиеся в Azure Key Vault, или локальную строку подключения.
Конфигурация приложений Azure и ее клиентские библиотеки для .NET, .NET Framework и Java Spring имеют встроенную поддержку управляемых удостоверений. Хотя использование управляемого удостоверения является необязательным, это позволит устранить потребность в маркере доступа, который содержит секреты. Код может получить доступ к хранилищу конфигурации приложений, используя только конечную точку сервиса. Этот URL-адрес можно внедрить непосредственно в код, не беспокоясь о раскрытии любых секретов.
В этой статье описывается, как можно воспользоваться преимуществами управляемого удостоверения для доступа к Конфигурации приложения. Он базируется на веб-приложении, представленном в руководстве по быстрому старту. Прежде чем продолжить, ознакомьтесь с разделом Создание приложения ASP.NET Core с помощью службы "Конфигурация приложений".
В этой статье описывается, как можно воспользоваться преимуществами управляемого удостоверения для доступа к Конфигурации приложения. Он базируется на веб-приложении, представленном в руководстве по быстрому старту. Прежде чем продолжить, выполните Создание приложения Java Spring с помощью службы "Конфигурация приложений Azure".
Внимание
Управляемое удостоверение невозможно использовать для проверки подлинности локально выполняемых приложений. Приложение должно быть развернуто в службе Azure, которая поддерживает управляемое удостоверение. В этой статье в качестве примера используется Служба приложений Azure. Однако та же концепция применяется к любой другой службе Azure, поддерживающей управляемое удостоверение. Например, служба Azure Kubernetes, виртуальная машина Azure и контейнерные экземпляры Azure. Если ваша рабочая нагрузка размещена в одной из этих служб, вы также можете воспользоваться поддержкой службы управляемых удостоверений.
Вы можете выполнять шаги в этом учебнике с помощью любого редактора кода. Visual Studio Code является отличным вариантом, который доступен на платформах Windows, macOS и Linux.
В этой статье вы узнаете, как:
- предоставление доступа к службе "Конфигурация приложений" с помощью управляемого удостоверения;
- Настройте ваше приложение для использования управляемого идентификатора при подключении к службе "Конфигурация приложений".
Предварительные условия
Для работы с этим руководством требуется:
- Учетная запись Azure с активной подпиской. Создайте ее бесплатно.
- Магазин конфигурации приложений Azure. Создайте хранилище.
- Пакет SDK для .NET версии 6.0 или более поздней версии.
- Учетная запись Azure с активной подпиской. Создайте ее бесплатно.
- Магазин конфигурации приложений Azure. Создайте хранилище.
- Поддерживаемый пакет средств разработки Java (JDK) с версией 11.
- Apache Maven версии 3.0 или более поздней.
Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.
Добавление управляемого удостоверения
Чтобы настроить управляемое удостоверение на портале, сначала создайте приложение, а затем активируйте эту возможность.
Вы можете получить доступ к ресурсу служб приложений на портале Azure. Если у вас нет ресурса служб приложений, создайте его.
Перейдите в группу параметров в левой панели и выберите Идентификация.
На вкладке Назначено системой для параметра Состояние установите значение Вкл. и выберите Сохранить.
При появлении запроса ответьте Да, чтобы включить управляемое удостоверение, назначаемое системой.
Предоставление доступа к службе "Конфигурация приложений"
Следующие шаги показывают, как назначить Службе приложений роль читателя данных Конфигурации приложений. Подробные инструкции см. в статье Назначение ролей Azure с помощью портала Microsoft Azure.
На портале Azure выберите свое хранилище конфигурации приложений.
Выберите Управление доступом (IAM).
Выберите Добавить>Добавить назначение ролей.
Если у вас нет прав назначать роли, функция Добавление назначения ролей будет неактивна. Дополнительные сведения см. в статье Встроенные роли Azure.
На вкладке Роль выберите роль Читатель данных Конфигурации приложений, а затем выберите Далее.
На вкладке Участники выберите Управляемое удостоверение, затем выберите Выбор участников.
Выберите подписку Azure, для управляемой идентичности выберите Служба приложений, а затем укажите название вашей службы.
Чтобы назначить роль, на вкладке Проверка и назначение выберите Проверка и назначение.
Используйте управляемое удостоверение
Добавьте ссылку на пакет
Azure.Identity
:dotnet add package Azure.Identity
Найдите точку доступа вашего хранилища конфигурации приложений. Этот URL-адрес указан на вкладке Ключи доступа в хранилище на портале Azure.
Откройте файл appsettings.json и добавьте следующий сценарий: Замените <service_endpoint> вместе со скобками на URL-адрес вашего хранилища конфигурации приложений.
"AppConfig": { "Endpoint": "<service_endpoint>" }
Откройте файл Program.cs и добавьте ссылку на
Azure.Identity
пространство имен:using Azure.Identity;
Чтобы получить доступ к значениям, хранящимся в Конфигурация приложений, обновите
Builder
конфигурацию, чтобы использоватьAddAzureAppConfiguration()
метод.var builder = WebApplication.CreateBuilder(args); builder.Configuration.AddAzureAppConfiguration(options => options.Connect( new Uri(builder.Configuration["AppConfig:Endpoint"]), new ManagedIdentityCredential()));
Примечание.
Если вы хотите использовать управляемое удостоверение, назначенное пользователем, обязательно укажите
clientId
при создании ManagedIdentityCredential.new ManagedIdentityCredential("<your_clientId>")
Как описано в разделе часто задаваемые вопросы об управляемых удостоверениях для ресурсов Azure, существует способ определить по умолчанию, какое управляемое удостоверение используется. Библиотека удостоверений Azure требует, чтобы вы указали желаемое удостоверение, чтобы избежать возможных проблем во время выполнения в будущем. Например, если добавляется новое управляемое удостоверение, назначаемое пользователем, или если управляемое удостоверение, назначаемое системой, включено. Поэтому необходимо указать идентификатор
clientId
, даже если определено только одно управляемое удостоверение, назначаемое пользователем, а управляемое удостоверение, назначаемое системой, отсутствует.
Найдите точку доступа вашего хранилища конфигурации приложений. Этот URL-адрес указан на вкладке Обзор в хранилище на портале Azure.
Откройте
bootstrap.properties
, удалите свойство строки подключения и замените его конечной точкой для назначенного системой удостоверения:
spring.cloud.azure.appconfiguration.stores[0].endpoint=<service_endpoint>
Для назначаемого пользователем удостоверения:
spring.cloud.azure.appconfiguration.stores[0].endpoint=<service_endpoint>
spring.cloud.azure.credential.managed-identity-enabled= true
spring.cloud.azure.credential.client-id= <client_id>
Примечание.
Дополнительные сведения см. в статье Аутентификация в Spring Cloud Azure.
Развертывание приложения
Если вы используете управляемые удостоверения, необходимо развернуть приложение в службе Azure. Управляемые удостоверения невозможно использовать для проверки подлинности локально выполняемых приложений. Чтобы развернуть приложение .NET Core, созданное в кратком руководстве Создание приложения ASP.NET Core с помощью "Конфигурация приложений" и измененное для использования управляемых удостоверений, воспользуйтесь инструкцией из раздела Публикация веб-приложения.
Для использования управляемых удостоверений требуется размещать ваше приложение в службе Azure. Управляемые удостоверения невозможно использовать для проверки подлинности локально выполняемых приложений. Чтобы развернуть приложение Spring, созданное в кратком руководстве Создание приложения Java Spring с помощью службы "Конфигурация приложений Azure" и измененное для использования управляемых удостоверений, следуйте указаниям в разделе Публикация веб-приложения.
Кроме Службы приложений, многие другие службы Azure поддерживают управляемые удостоверения. Дополнительные сведения см. в статье Службы, поддерживающие управляемые удостоверения для ресурсов Azure.
Очистка ресурсов
Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.
Внимание
Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.
- Войдите на портал Azure и выберитеГруппы ресурсов.
- Введите имя группы ресурсов в поле Фильтровать по имени.
- В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
- Выберите команду Удалить группу ресурсов.
- Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.
Через некоторое время группа ресурсов и все ее ресурсы будут удалены.
Следующие шаги
С помощью инструкций из этого руководства вы добавили управляемое удостоверение службы Azure, чтобы упростить доступ к службе "Конфигурация приложений" и улучшить управление учетными данными для вашего приложения. Чтобы узнать больше об использовании службы "Конфигурация приложений", перейдите к примерам скриптов Azure CLI.