Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Во время локальной разработки приложения должны пройти проверку подлинности в Azure для использования различных служб Azure. Проверка подлинности локально с помощью одного из следующих подходов:
- Используйте учетную запись разработчика с одним из инструментов для разработчиков, поддерживаемых библиотекой удостоверений Azure.
- Используйте брокер для управления учетными данными.
- Используйте субъект-службу.
В этой статье объясняется, как пройти проверку подлинности с помощью учетной записи разработчика с инструментами, поддерживаемыми библиотекой удостоверений Azure. В следующих разделах вы узнаете:
- Использование групп Microsoft Entra для эффективного управления разрешениями для нескольких учетных записей разработчиков.
- Назначение ролей учетным записям разработчиков для определения области действия разрешений.
- Как войти в поддерживаемые локальные средства разработки.
- Как пройти проверку подлинности с помощью учетной записи разработчика из кода приложения.
Поддерживаемые средства разработчика для проверки подлинности
Чтобы приложение аутентифицировалось в Azure во время локальной разработки с использованием учетных данных разработчика Azure, разработчик должен войти в Azure через одно из следующих средств разработки:
- Azure CLI (Интерфейс командной строки для Azure)
- Azure Developer CLI (Интерфейс командной строки для разработчиков Azure)
- Azure PowerShell
- Visual Studio Code
Библиотека удостоверений Azure может обнаружить, что разработчик вошел в систему из одного из этих средств. Затем библиотека может получить токен доступа Microsoft Entra с помощью инструмента для аутентификации приложения в Azure от имени авторизованного пользователя.
Этот подход использует существующие учетные записи Azure разработчика для упрощения процесса проверки подлинности. Однако учетная запись разработчика, скорее всего, имеет больше разрешений, чем требуется для приложения, поэтому превышает разрешения, с которыми приложение работает в продакшене. В качестве альтернативы можно создать субъекты-службы приложений для использования во время локальной разработки, которые могут быть ограничены только доступом, необходимым для приложения.
Создание группы Microsoft Entra для локальной разработки
Создайте группу Microsoft Entra, чтобы объединять роли (разрешения), необходимые приложению при локальной разработке, а не назначать роли отдельным объектам службы-принципала. Этот подход обеспечивает следующие преимущества:
- Каждый разработчик имеет одинаковые роли, назначенные на уровне группы.
- Если для приложения требуется новая роль, ее необходимо только добавить в группу для приложения.
- Если новый разработчик присоединяется к команде, для разработчика создается новая учетная запись службы приложений и добавляется в группу, гарантируя, что разработчик имеет необходимые разрешения на работу с приложением.
Перейдите на страницу обзора идентификатора Microsoft Entra на портале Azure.
Выберите все группы в меню слева.
На странице Группы выберите Создать группу.
На странице "Создать группу" заполните следующие поля формы:
- Тип группы: Выберите безопасность .
- Имя группы: введите имя группы, которая содержит ссылку на имя приложения или среды.
- Описание группы: введите описание, объясняющее назначение группы.
Выберите ссылку "Нет участников", выбранную в разделе "Участники", чтобы добавить участников в группу.
На открывшейся всплывающей панели найдите созданную ранее основную служебную учетную запись и выберите её из результатов фильтрации. Нажмите кнопку "Выбрать " в нижней части панели, чтобы подтвердить выбор.
Нажмите кнопку "Создать " в нижней части страницы "Создать группу ", чтобы создать группу и вернуться на страницу "Все группы ". Если вы не видите новую группу, подождите минуту и обновите страницу.
Назначьте роли группе
Затем определите, какие роли (разрешения) приложения требуются для ресурсов и назначьте эти роли созданной группе Microsoft Entra. Группы можно назначить роль в ресурсе, группе ресурсов или области подписки. В этом примере показано, как назначать роли в области группы ресурсов, так как большинство приложений группируют все свои ресурсы Azure в одну группу ресурсов.
На портале Azure перейдите на страницу обзора группы ресурсов, содержащей приложение.
Выберите управление доступом (IAM) в левой панели навигации.
На странице управления доступом (IAM) выберите +Добавить , а затем выберите "Добавить назначение ролей " в раскрывающемся меню. Страница "Добавление назначения ролей " предоставляет несколько вкладок для настройки и назначения ролей.
На вкладке "Роль" используйте поле поиска, чтобы найти роль, которую вы хотите назначить. Выберите роль и нажмите кнопку "Далее".
На вкладке "Члены" :
- Чтобы назначить доступ к значению , выберите "Пользователь", "Группа" или "Субъект-служба ".
- Для значения "Члены" нажмите кнопку "Выбрать участников ", чтобы открыть панель всплывающего меню "Выбор участников ".
- Найдите созданную ранее группу Microsoft Entra и выберите ее из отфильтрованных результатов. Выберите команду "Выбрать ", чтобы выбрать группу и закрыть панель всплывающего меню.
- Выберите Обзор + Назначение внизу вкладки Члены.
На вкладке "Обзор и назначение" выберите "Обзор и назначение" в нижней части страницы.
Вход в Azure с помощью средств разработчика
Чтобы пройти проверку подлинности с помощью учетной записи Azure, выберите один из следующих методов:
Разработчики, использующие Visual Studio Code, могут аутентифицироваться с помощью своей учетной записи непосредственно в редакторе через брокера. Приложения, использующие DefaultAzureCredential или VisualStudioCodeCredential , могут использовать эту учетную запись для проверки подлинности запросов приложений с помощью простого единого входа.
В Visual Studio Code перейдите на панель расширений и установите расширение ресурсов Azure . Это расширение позволяет просматривать ресурсы Azure непосредственно из Visual Studio Code и управлять ими. Он также использует встроенный поставщик проверки подлинности Microsoft Visual Studio Code для проверки подлинности в Azure.
Откройте палитру команд в Visual Studio Code, а затем найдите и выберите Azure: войдите.
Подсказка
Откройте палитру команд с помощью
Ctrl+Shift+Pна Windows/Linux илиCmd+Shift+Pна macOS.azure-identity-brokerДобавьте пакет Python в приложение:pip install azure-identity-broker
Авторизация в службах Azure из вашего приложения
Библиотека удостоверений Azure предоставляет реализацию TokenCredential, которая поддерживает различные сценарии и потоки проверки подлинности Microsoft Entra. На шагах ниже показано, как использовать учетные данные по умолчанию DefaultAzureCredential или определенные учетные данные средства разработки при локальной работе с учетными записями пользователей.
Реализация кода
Добавьте пакет azure-identity в приложение:
pip install azure-identityПримечание.
При использовании
VisualStudioCodeCredentialнеобходимо также установитьazure-identity-brokerпакет:pip install azure-identity-brokerДобавьте необходимые
importинструкции дляazure.identityмодуля и клиентского модуля службы Azure, который требуется вашему приложению.Выберите одну из реализаций данных для аутентификации в зависимости от вашего сценария.
- Используйте учетные данные, относящиеся к средству разработки: этот вариант лучше всего подходит для отдельных пользователей или отдельных сценариев инструментов.
- Используйте учетные данные, доступные для использования в любом средстве разработки: этот вариант лучше всего подходит для проектов с открытым кодом и различных команд инструментов.
Используйте учетные данные, относящиеся к вашему средству разработки
TokenCredential Передайте экземпляр, соответствующий конкретному средству разработки, конструктору клиента службы Azure, напримерAzureCliCredential.
from azure.identity import AzureCliCredential
from azure.storage.blob import BlobServiceClient
credential = AzureCliCredential()
blob_service_client = BlobServiceClient(
account_url="https://<account-name>.blob.core.windows.net",
credential=credential)
Использование учетных данных, доступных для использования в любом средстве разработки
Используйте экземпляр DefaultAzureCredential, оптимизированный для всех локальных средств разработки. В этом примере требуется, чтобы для переменной AZURE_TOKEN_CREDENTIALS среды задано значение dev. Дополнительные сведения см. в разделе "Исключить категорию типов учетных данных".
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient
credential = DefaultAzureCredential(require_envvar=True)
blob_service_client = BlobServiceClient(
account_url="https://<account-name>.blob.core.windows.net",
credential=credential)
Подсказка
Когда ваша команда использует несколько средств разработки для проверки подлинности в Azure, отдавайте предпочтение DefaultAzureCredential вместо учетных данных, специфичных для инструментов.