使用 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 中指派任何特殊角色,因為這就是平台服務處理服務主體所發出要求的方式。