Поделиться через


Проверка подлинности (устаревшая версия)

В этой статье представлен обзор настройки аутентификации для различных инструментов программирования.

Регистрация клиентского приложения в Microsoft Entra ID

Обзор общего Microsoft Entra создания клиентских приложений см. на странице Быстрый старт: регистрация приложения на Microsoft платформе идентификации. Однако для Microsoft Power Platform есть некоторые особенности, о которых стоит упомянуть в разделах ниже.

Дополнительные параметры аутентификации

На портале Azure перейдите к только что созданному клиентскому приложению и выберите вкладку Управление — аутентификация. В разделе Дополнительные параметры установите для Общедоступный клиент значение Да. Это гарантирует, что вы можете получить веб-токен JSON (JWT) с помощью простой проверки подлинности имени пользователя и пароля. Этот тип аутентификации требуется для интерактивных приложений, которые вы можете создать, и для регистрации записи субъекта-службы в Microsoft Power Platform.

Разрешения API

На портале Azure перейдите на вкладку Управление — разрешения API. В разделе Настройка разрешений выберите Добавить разрешение. В открывшемся диалоговом окне выберите вкладку Используемые в моей организации API, а затем найдите Служба Power Apps (или служба PowerApps). Вы можете увидеть несколько записей с таким же именем, поэтому убедитесь, что вы используете запись с GUID 475226c6-020e-4fb2-8a90-7a972cbfc1d4. Включите все делегированные разрешения, такие как параметр Разрешения пользователя — доступ к API службы Power Apps.

После добавления в клиентское приложение выберите Предоставить согласие администратора, чтобы завершить настройку. Это необходимо для экземпляров, где вы хотите начать использовать инструмент, например REST API, который не имеет графического пользовательского интерфейса (GUI), который может запрашивать согласие на основе каждого использования.

Сертификаты и секреты

На портале Azure перейдите на вкладку Управление — Сертификаты и секреты. В разделе Сертификаты отправьте сертификат x509, который можно использовать для аутентификации. При желании вы можете использовать раздел Секреты для генерации секрета клиента. Сохраните секрет в безопасном месте для использования с учетом ваших потребностей в автоматизации. Параметры сертификата или секрета позволяют выполнять проверку подлинности с помощью Microsoft Entra и получать маркер для этого клиента, который передается в интерфейсы REST API или командлеты PowerShell.

Получите токен для аутентификации по имени пользователя и паролю

Отправьте запрос POST по HTTP в Microsoft Entra ID с именем пользователя и паролем в качестве полезных данных.

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://service.powerapps.com//.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password

Приведенный выше пример содержит заполнители, которые вы можете получить из своего клиентского приложения в Microsoft Entra ID. Вы получите ответ, который можно использовать для последующих вызовов API Power Platform.

{
  "token_type": "Bearer",
  "scope": "https://service.powerapps.com//User https://service.powerapps.com//.default",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOi...UBkeW5hbWljc2F4ZGVtby5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiI1Q1Fnb25PR0dreWlTc1I2SzR4TEFBIiwidmVyIjoiMS4wIn0.N_oCJiEz2tRU9Ls9nTmbZF914MyU_u7q6bIUJdhXd9AQM2ZK-OijiKtMGfvvVmTYZp4C6sgkxSt0mOGcpmvTSagSRDY92M2__p-pEuKqva5zxXXXmpC-t9lKYDlXRcKq1m5xv-q6buntnLrvZIdd6ReD3n3_pnGAa6OxU0s82f7DqAjSQgXR3hwq_NZOa0quCUN9X-TvpIYrJfVgQfVu0R189hWmUzbYpuoPrUMj2vQI_19gEHz_FryXolM4RMStugYrC0Z72ND5vFlGgvYhZfbWJRC6hGvQQin_eAASmmjLwhRBGMJd6IdbgEXAkFF2rFITFFtFY_4hrN3bvHsveg"
}

Используйте значение access_token в последующих вызовах API Power Platform с помощью заголовка HTTP Авторизация.

Получение токена для аутентификации клиента

Отправьте запрос POST по HTTP в Microsoft Entra ID с секретом клиента в качестве полезных данных. Это часто называют аутентификацией субъекта-службы.

Внимание

Это можно использовать только после того, как вы зарегистрируете этот идентификатор клиентского приложения с помощью Microsoft Power Platform в соответствии с документацией по PowerShell или REST.

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://service.powerapps.com//.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials

Приведенный выше пример содержит заполнители, которые вы можете получить из своего клиентского приложения в Microsoft Entra ID. Вы получите ответ, который можно использовать для последующих вызовов API Power Platform.

{
  "token_type": "Bearer",
  "scope": "https://service.powerapps.com//User https://service.powerapps.com//.default",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOi...UBkeW5hbWljc2F4ZGVtby5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiI1Q1Fnb25PR0dreWlTc1I2SzR4TEFBIiwidmVyIjoiMS4wIn0.N_oCJiEz2tRU9Ls9nTmbZF914MyU_u7q6bIUJdhXd9AQM2ZK-OijiKtMGfvvVmTYZp4C6sgkxSt0mOGcpmvTSagSRDY92M2__p-pEuKqva5zxXXXmpC-t9lKYDlXRcKq1m5xv-q6buntnLrvZIdd6ReD3n3_pnGAa6OxU0s82f7DqAjSQgXR3hwq_NZOa0quCUN9X-TvpIYrJfVgQfVu0R189hWmUzbYpuoPrUMj2vQI_19gEHz_FryXolM4RMStugYrC0Z72ND5vFlGgvYhZfbWJRC6hGvQQin_eAASmmjLwhRBGMJd6IdbgEXAkFF2rFITFFtFY_4hrN3bvHsveg"
}

Используйте значение access_token в последующих вызовах API Power Platform с помощью заголовка HTTP Авторизация.

предварительная версия: Создание приложения-принципала службы через API