次の方法で共有


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

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

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

ヒント

Power Platform CLI を使用すると、より簡単な方法が提供されます。 詳細については、PAC CLI を使用したサービス プリンシパル アプリケーションの作成を参照してください。

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

まず、クライアント アプリケーションを Microsoft Entra テナントに登録する必要があります。 Power Platform API の認証に関する記事を参照して、その方法を学んでください。

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

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

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

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