使用 API 创建服务主体应用程序(预览)

[本文为预发布文档,可能会发生变化。]

通过用户名和密码进行身份验证通常并不理想,尤其是随着多重身份验证的兴起。 在这种情况下,首选使用服务主体(或客户端凭据流)身份验证。 这可以通过在您自己的 Microsoft Entra 租户中注册新的服务主体应用程序,然后向 Power Platform 注册同一应用程序来完成。

注册管理员管理应用程序

首先,客户端应用程序需要在您的 Microsoft Entra 租户中注册。 要进行此设置,请查看 Power Platform API 的身份验证一文。

在 Microsoft Entra ID 中注册了客户端应用程序之后,还需要向 Microsoft Power Platform 注册。 现在,无法通过 Power Platform 管理中心执行此操作;必须通过 Power Platform API 或 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 用于服务主体身份验证,因为无法将许可证分配给 Microsoft Entra ID 中的服务主体身份。

服务主体应用程序在 Power Platform 中的处理方式类似于分配有 Power Platform 管理员角色的普通用户。 不能分配细粒度角色和权限来限制其功能。 应用程序在 Microsoft Entra ID 中不会被分配任何特殊角色,因为这是平台服务处理服务主体提出的请求的方式。