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


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

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

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

Заметка

Интерфейс командной строки Power Platform CLI обеспечивает более простой способ. Дополнительные сведения см. в статье Создание приложения субъекта-службы с помощью интерфейса командной строки PAC CLI

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

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

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

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

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

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

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

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

Создание приложения субъекта-службы с помощью интерфейса командной строки PAC CLI

Используйте Microsoft Power Platform CLI (PAC CLI), чтобы добавить приложение Microsoft Entra ID (SPN) и связанного пользователя приложения в среду Dataverse. Команда admin create-service-principal создает приложение Microsoft Entra ID (SPN), а также регистрирует его в Microsoft Power Platform.

pac admin create-service-principal  --environment <environment id>

Узнайте больше о команде pac admin create-service-principal и о том, как установить PAC CLI.

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

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

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