次の方法で共有


API を使用したサービス プリンシパル アプリケーションの作成 (プレビュー)

[この記事はプレリリース ドキュメントであり、変更されることがあります。]

ユーザー名とパスワードによる認証は、特に多要素認証の台頭により、多くの場合理想的ではありません。 このような場合、サービス プリンシパル (またはクライアント資格情報フロー) 認証が推奨されます。 これを行うには、新しいサービス プリンシパル アプリケーションを独自の Microsoft Entra テナントに登録し、その同じアプリケーションを Power Platform に登録します。

管理者管理アプリケーションの登録

まず、クライアント アプリケーションを Microsoft Entra テナントに登録する必要があります。 これを設定するには、Power Platform API の認証の記事を確認してください。

クライアント アプリケーションを Microsoft Entra ID に登録した後、Microsoft Power Platform にも登録する必要があります。 現在、Power Platform 管理センターを介してこれを行う方法はありません。Power Platform API または Power Platform 管理者用 PowerShell を介してプログラムで実行する必要があります。 サービス プリンシパルはそれ自体を登録できません。設計上、アプリケーションは管理者ユーザー名とパスワードのコンテキストで登録する必要があります。 これにより、テナントの管理者であるユーザーがアプリケーションを作成できます。

新しい管理アプリケーションを登録するには、ユーザー名とパスワードの認証を使用して取得したベアラー トークンを使用して次の要求を使用します。

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 のサービス プリンシパル ID にライセンスを割り当てることができないため、ライセンスが不要な状況でサービス プリンシパル認証でサポートされます。

サービス プリンシパル アプリケーションは、Power Platform 内で、Power Platform 管理者ロールが割り当てられた通常のユーザーの場合と同様に処理されます。 機能を制限するために、詳細なロールとアクセス許可を割り当てることはできません。 これはプラットフォーム サービスがサービス プリンシパルによって行われた要求を処理する方法であるため、アプリケーションには Microsoft Entra ID で特別なロールが割り当てられません。