Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Во время локальной разработки приложения должны пройти проверку подлинности в 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+PWindows или Linux илиCmd+Shift+PmacOS.azure-identity-brokerДобавьте пакет Python в приложение:pip install azure-identity-broker
Авторизация в службах Azure из вашего приложения
Библиотека удостоверений Azure предоставляет реализацию TokenCredential, которая поддерживает различные сценарии и потоки проверки подлинности Microsoft Entra. Ниже показано, как использовать defaultAzureCredential или определенные учетные данные средства разработки при локальной работе с учетными записями пользователей.
Реализация кода
Добавьте пакет azure-identity и все пакеты клиентских библиотек служб Azure, которые требуются вашему приложению:
pip install azure-identity azure-storage-blobПримечание.
При использовании
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. Дополнительные сведения см. в разделе "Исключить категорию типов учетных данных".
Задайте переменную среды перед запуском приложения:
export 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 вместо учетных данных, специфичных для инструментов.