Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Добро пожаловать! Возможно, это не та страница, которую вы ожидали. Пока мы работаем над исправлением, воспользуйтесь этой ссылкой, чтобы перейти к нужной статье:
Краткое руководство: Получение токена и вызов Microsoft Graph из Python-демон-приложения
Приносим извинения за неудобства и благодарим за терпение! Мы работаем над устранением этой проблемы.
В этом быстром старте вы скачаете и выполните пример, который демонстрирует, как приложение Python может получить токен доступа с помощью удостоверения приложения для вызова API Microsoft Graph и отобразить список пользователей в каталоге. Пример кода демонстрирует, как автоматическое задание или служба Windows могут выполняться с удостоверением приложения, вместо удостоверения пользователя.
Предварительные условия
Для запуска этого примера вам потребуются следующие компоненты:
Загрузите и настройте приложение для быстрого запуска.
Шаг 1. Настройка приложения на портале Azure
Для работы примера кода, приведенного в этом кратком руководстве, необходимо создать секрет клиента и добавить разрешение приложения API Graph User.Read.All.
Приложение настроено с помощью этих атрибутов.
Шаг 2. Скачивание проекта Python
Примечание.
Enter_the_Supported_Account_Info_Here
Обычный пользователь
Если вы являетесь стандартным пользователем вашего клиента, попросите глобального администратора предоставить согласие администратора для вашего приложения. Чтобы сделать это, предоставьте следующий URL-адрес администратору:
https://login.microsoftonline.com/Enter_the_Tenant_Id_Here/adminconsent?client_id=Enter_the_Application_Id_Here
Шаг 4. Запуск приложения
Зависимости этого примера необходимо установить один раз.
pip install -r requirements.txt
Затем запустите приложение с помощью командной строки или консоли:
python confidential_client_secret_sample.py parameters.json
На консоли вы увидите фрагмент JSON, представляющий список пользователей в каталоге Microsoft Entra.
Внимание
В этом кратком руководстве приложение использует секрет клиента для собственной идентификации в качестве конфиденциального клиента. Так как секрет клиента добавляется в качестве обычного текста в файлы проекта, из соображениям безопасности рекомендуется использовать сертификат вместо секрета клиента, прежде чем использовать приложение в качестве рабочего. Дополнительные сведения об использовании сертификата см. в этих инструкциях в том же репозитории GitHub для этого примера, но во второй папке 2-Call-MsGraph-WithCertificate.
Дополнительные сведения
MSAL Python
MSAL Python — это библиотека, используемая для выполнения входа пользователей и запросов токенов, необходимых для доступа к API, защищённому платформой идентификации Майкрософт. Как описано, это краткое руководство запрашивает токены, используя собственное удостоверение приложения вместо делегированных разрешений. Поток проверки подлинности, используемый в данном случае, называется потоком учетных данных клиента OAuth. Дополнительные сведения об использовании MSAL Python с приложениями управляющей программы см. в этой статье.
Установите MSAL Python, выполнив следующую команду pip.
pip install msal
Инициализация MSAL
Добавив следующий код, вы можете добавить ссылку на MSAL.
import msal
Затем выполните инициализацию MSAL с помощью следующего кода.
app = msal.ConfidentialClientApplication(
config["client_id"], authority=config["authority"],
client_credential=config["secret"])
Где: Описание config["secret"]Секрет клиента, созданный для приложения на портале Azure. config["client_id"]Идентификатор приложения (клиента), зарегистрированного на портале Azure. Это значение можно найти на странице приложения Обзор на портале Azure. config["authority"]Конечная точка STS для проверки подлинности пользователей. Обычно https://login.microsoftonline.com/{tenant}для общедоступного облака, где {tenant} — имя или идентификатор вашего клиента.
Дополнительные сведения см. в справочной документации по ConfidentialClientApplication.
Запрос токенов
Чтобы запросить маркер с помощью удостоверение приложения, используйте метод AcquireTokenForClient.
result = None
result = app.acquire_token_silent(config["scope"], account=None)
if not result:
logging.info("No suitable token exists in cache. Let's get a new one from Azure AD.")
result = app.acquire_token_for_client(scopes=config["scope"])
Где: Описание config["scope"]Содержит запрошенные области. Для конфиденциальных клиентов следует использовать формат, аналогичный {Application ID URI}/.default, который указывает, что запрашиваемые области — это те, которые статически определены в объекте приложения, заданном на портале Azure (для Microsoft Graph{Application ID URI}указывает наhttps://graph.microsoft.com). Для пользовательских веб-API{Application ID URI}определяется в разделе Предоставление API в разделе Регистрация приложений на портале Azure.
Дополнительные сведения см. в справочной документации по AcquireTokenForClient.
Помощь и поддержка
Если вам нужна помощь, если вы хотите сообщить о проблеме или узнать о доступных вариантах поддержки, воспользуйтесь статьей Возможности получения поддержки и справки для разработчиков.
Следующие шаги
Дополнительные сведения об управляющих программах см. на главной странице сценария.