Создание приложения субъекта-службы с помощью API (предварительная версия)

[Данная статья посвящена предварительному выпуску и может быть изменена.]

Аутентификация с помощью имени пользователя и пароля часто не идеальна, особенно с появлением многофакторной аутентификации. В таких случаях предпочтительна аутентификация субъекта-службы (или потока учетных данных клиента). Это можно сделать, зарегистрировав новое приложение субъекта-службы в своем собственном клиенте Microsoft Entra, а затем зарегистрировав это же приложение в Power Platform.

Регистрация приложения для управления администратором

Во-первых, клиентское приложение необходимо зарегистрировать в вашем клиенте Microsoft Entra. Чтобы настроить это, см. статью Аутентификация для API Power Platform.

После регистрации вашего клиентского приложения в Microsoft Entra ID оно также должно быть зарегистрировано в Microsoft Power Platform. Сегодня это невозможно сделать через центр администрирования Power Platform; это должно быть сделано программно через API Power Platform или PowerShell для администраторов Power Platform. Субъект-служба не может зарегистрироваться сама по себе — по замыслу, приложение должно быть зарегистрировано с помощью имени пользователя и пароля администратора. Это гарантирует, что приложение создано кем-то, кто является администратором для клиента.

Чтобы зарегистрировать новое приложение для управления, используйте следующий запрос с токеном носителя, полученным с использованием аутентификации по имени пользователя и паролю:

Authorization: Bearer eyJ0eXAiOi...
Host: api.bap.microsoft.com
Accept: application/json
PUT https://api.bap.microsoft.com/providers/Microsoft.BusinessAppPlatform/adminApplications/{CLIENT_ID_FROM_AZURE_APP}?api-version=2020-10-01

Делайте запросы в качестве субъекта-службы

Теперь, когда он был зарегистрирован в Microsoft Power Platform, вы можете пройти аутентификацию как сам субъект-служба. Используйте следующий запрос, чтобы запросить список ваших приложений для управления. Это может использовать токен носителя, полученный с помощью потока аутентификации учетных данных клиента:

Authorization: Bearer eyJ0eXAiOi...
Host: api.bap.microsoft.com
Accept: application/json
GET https://api.bap.microsoft.com/providers/Microsoft.BusinessAppPlatform/adminApplications?api-version=2020-10-01

Ограничения субъектов-служб

В настоящее время аутентификация субъекта-службы работает для управления средой, настройками клиента и управления Power Apps. API, связанные с Flow, поддерживаются для проверки подлинности субъекта-службы в ситуациях, когда лицензия не требуется, поскольку невозможно назначить лицензии удостоверениям субъектов-служб в Microsoft Entra ID.

Приложения субъекта-службы обрабатываются в Power Platform так же, как и обычные пользователи с назначенной ролью администратора Power Platform. Детальные роли и разрешения не могут быть назначены для ограничения их возможностей. Приложение не получает никакой специальной роли, назначенной в Microsoft Entra ID, поскольку именно так службы платформы обрабатывают запросы, выполняемые субъектами-службами.