Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Microsoft Entra managed identities simplify secrets management for your cloud application. With a managed identity, your code can use the service principal created for the Azure service it runs on. Вы используете управляемое удостоверение, а не отдельные учетные данные, хранящиеся в Azure Key Vault, или локальную строку подключения.
Конфигурация приложений Azure и ее клиентские библиотеки для .NET, .NET Framework и Java Spring имеют встроенную поддержку управляемых удостоверений. Although you aren't required to use it, the managed identity eliminates the need for an access token that contains secrets. Код может получить доступ к хранилищу конфигурации приложений, используя только конечную точку сервиса. Этот URL-адрес можно внедрить непосредственно в код, не беспокоясь о раскрытии любых секретов.
В этой статье описывается, как можно воспользоваться преимуществами управляемого удостоверения для доступа к Конфигурации приложения. It builds on the web app introduced in the quickstarts. Прежде чем продолжить, ознакомьтесь с разделом Создание приложения ASP.NET Core с помощью службы "Конфигурация приложений".
В этой статье описывается, как можно воспользоваться преимуществами управляемого удостоверения для доступа к Конфигурации приложения. It builds on the web app introduced in the quickstarts. Прежде чем продолжить, выполните Создание приложения Java Spring с помощью службы "Конфигурация приложений Azure".
Внимание
Управляемое удостоверение невозможно использовать для проверки подлинности локально выполняемых приложений. Приложение должно быть развернуто в службе Azure, которая поддерживает управляемое удостоверение. В этой статье в качестве примера используется Служба приложений Azure. Однако та же концепция применяется к любой другой службе Azure, поддерживающей управляемое удостоверение. Например, служба Azure Kubernetes, виртуальная машина Azure и контейнерные экземпляры Azure. If your workload is hosted in one of those services, you can also leverage the service's managed identity support.
Вы можете выполнять шаги в этом учебнике с помощью любого редактора кода. Visual Studio Code является отличным вариантом, который доступен на платформах Windows, macOS и Linux.
В этой статье вы узнаете, как:
- Grant a managed identity access to App Configuration.
- Настройте ваше приложение для использования управляемого идентификатора при подключении к службе "Конфигурация приложений".
Предварительные условия
Для работы с этим руководством требуется:
- Учетная запись Azure с активной подпиской. Создайте ее бесплатно.
- Магазин конфигурации приложений Azure. Создайте хранилище.
- Пакет SDK для .NET версии 6.0 или более поздней версии.
- Учетная запись Azure с активной подпиской. Создайте ее бесплатно.
- Магазин конфигурации приложений Azure. Создайте хранилище.
- A supported Java Development Kit (JDK) with version 11.
- Apache Maven версии 3.0 или более поздней.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Add a managed identity
To set up a managed identity in the portal, you first create an application and then enable the feature.
Вы можете получить доступ к ресурсу служб приложений на портале Azure. Если у вас нет ресурса служб приложений, создайте его.
Перейдите в группу параметров в левой панели и выберите Идентификация.
На вкладке Назначено системой для параметра Состояние установите значение Вкл. и выберите Сохранить.
При появлении запроса ответьте Да, чтобы включить управляемое удостоверение, назначаемое системой.
Предоставление доступа к службе "Конфигурация приложений"
Следующие шаги показывают, как назначить Службе приложений роль читателя данных Конфигурации приложений. Подробные инструкции см. в статье Назначение ролей Azure с помощью портала Microsoft Azure.
На портале Azure выберите свое хранилище конфигурации приложений.
Выберите Управление доступом (IAM).
Выберите Добавить>Добавить назначение ролей.
Если у вас нет прав назначать роли, функция Добавление назначения ролей будет неактивна. Дополнительные сведения см. в статье Встроенные роли Azure.
На вкладке Роль выберите роль Читатель данных Конфигурации приложений, а затем выберите Далее.
На вкладке Участники выберите Управляемое удостоверение, затем выберите Выбор участников.
Выберите подписку Azure, для управляемой идентичности выберите Служба приложений, а затем укажите название вашей службы.
Чтобы назначить роль, на вкладке Проверка и назначение выберите Проверка и назначение.
Use a managed identity
Добавьте ссылку на пакет
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, существует способ определить по умолчанию, какое управляемое удостоверение используется. In this case, the Azure Identity library enforces you to specify the desired identity to avoid possible runtime issues in the future. Например, если добавляется новое управляемое удостоверение, назначаемое пользователем, или если управляемое удостоверение, назначаемое системой, включено. Поэтому необходимо указать идентификатор
clientId
, даже если определено только одно управляемое удостоверение, назначаемое пользователем, а управляемое удостоверение, назначаемое системой, отсутствует.
Найдите точку доступа вашего хранилища конфигурации приложений. Этот URL-адрес указан на вкладке Обзор в хранилище на портале Azure.
Open
bootstrap.properties
, remove the connection-string property and replace it with endpoint for System Assigned Identity:
spring.cloud.azure.appconfiguration.stores[0].endpoint=<service_endpoint>
For User Assigned Identity:
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.
Развертывание приложения
You must deploy your app to an Azure service when you use managed identities. Managed identities can't be used for authentication of locally running apps. To deploy the .NET Core app that you created in the Create an ASP.NET Core app with App Configuration quickstart and modified to use managed identities, follow the guidance in Publish your web app.
Using managed identities requires you to deploy your app to an Azure service. Managed identities can't be used for authentication of locally running apps. To deploy the Spring app that you created in the Create a Java Spring app with Azure App Configuration quickstart and modified to use managed identities, follow the guidance in Publish your web app.
In addition to App Service, many other Azure services support managed identities. Дополнительные сведения см. в статье Службы, поддерживающие управляемые удостоверения для ресурсов Azure.
Очистка ресурсов
Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.
Внимание
Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.
- Войдите на портал Azure и выберитеГруппы ресурсов.
- Введите имя группы ресурсов в поле Фильтровать по имени.
- В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
- Выберите команду Удалить группу ресурсов.
- Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.
Через некоторое время группа ресурсов и все ее ресурсы будут удалены.
Следующие шаги
С помощью инструкций из этого руководства вы добавили управляемое удостоверение службы Azure, чтобы упростить доступ к службе "Конфигурация приложений" и улучшить управление учетными данными для вашего приложения. Чтобы узнать больше об использовании службы "Конфигурация приложений", перейдите к примерам скриптов Azure CLI.