認証

この記事では、さまざまなプログラミング ツールの認証設定の概要を説明します。

Microsoft Entra ID にクライアント アプリケーションを登録する

一般的な Microsoft Entra クライアント アプリケーションの作成概要については、クイック スタート: Microsoft ID プラットフォームにアプリケーションを登録するを参照してください。 ただし、Microsoft Power Platform については、以下のセクションでいくつかの重要な点を説明します。

認証の詳細設定

Azure ポータルで、新しく作成したクライアント アプリケーションに移動し、管理 - 認証タブを選択します。詳細設定セクションで、パブリック クライアントはいに切り替えます。 これにより、単純なユーザー名とパスワードの認証を使用して JSON Web トークン (JWT) を取得できるようになります。 このタイプの認証は、構築する可能性のある対話型アプリケーション、および Microsoft Power Platform にサービス プリンシパル エントリを登録するために必要です。

API アクセス許可

Azure ポータルで、管理 - API アクセス許可タブに移動します。アクセス許可を構成セクションで、アクセス許可を追加を選択します。 開いたダイアログウィンドウで、自分の組織が使用する API タブをクリックし、Power Apps サービス (または PowerApps サービス) を検索します。 これに似た名前のエントリがいくつか表示される場合があるため、GUID 475226c6-020e-4fb2-8a90-7a972cbfc1d4 を含むエントリを使用してください。 ユーザーのアクセス許可 - Power Apps サービス API にアクセスするオプションなどのすべての委任されたアクセス許可を含めます。

これをクライアント アプリケーションに追加したら、管理者の承認を付与を選択し、設定を完了します。 これは、使用ごとに同意を要求できるグラフィカル ユーザー インターフェイス (GUI) を備えていない REST API などのツールの使用を開始する場合に必要です。

証明書とシークレット

Azure ポータルで、管理 - 証明書とシークレット タブに移動します。証明書セクションで、認証に使用できる x509 証明書をアップロードします。 オプションで、クライアント シークレットを生成するシークレット セクションを使用できます。 自動化が必要になった場合に使用できるように、シークレットを安全な場所に保存してください。 証明書またはシークレット オプションを使用すると、Microsoft Entra で認証し、このクライアントのトークンを受け取ることができます。トークンは、REST API または PowerShell コマンドレットのいずれかに渡されます。

ユーザー名とパスワードの認証用トークンを取得する

ユーザー名とパスワードのペイロードを使用して、HTTP 経由で POST 要求を Microsoft Entra ID に送信します。

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://service.powerapps.com//.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password

上記の例には、Microsoft Entra ID のクライアント アプリケーションから取得できるプレースホルダーが含まれています。 Power Platform API への後続の呼び出しに使用できる応答を受信します。

{
  "token_type": "Bearer",
  "scope": "https://service.powerapps.com//User https://service.powerapps.com//.default",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOi...UBkeW5hbWljc2F4ZGVtby5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiI1Q1Fnb25PR0dreWlTc1I2SzR4TEFBIiwidmVyIjoiMS4wIn0.N_oCJiEz2tRU9Ls9nTmbZF914MyU_u7q6bIUJdhXd9AQM2ZK-OijiKtMGfvvVmTYZp4C6sgkxSt0mOGcpmvTSagSRDY92M2__p-pEuKqva5zxXXXmpC-t9lKYDlXRcKq1m5xv-q6buntnLrvZIdd6ReD3n3_pnGAa6OxU0s82f7DqAjSQgXR3hwq_NZOa0quCUN9X-TvpIYrJfVgQfVu0R189hWmUzbYpuoPrUMj2vQI_19gEHz_FryXolM4RMStugYrC0Z72ND5vFlGgvYhZfbWJRC6hGvQQin_eAASmmjLwhRBGMJd6IdbgEXAkFF2rFITFFtFY_4hrN3bvHsveg"
}

Power Platform API への後続の呼び出しでは、認証 HTTP ヘッダーを使用して、access_token 値を使用します。

クライアント認証用のトークンを取得する

クライアント シークレットのペイロードを使用して、HTTP 経由で POST 要求を Microsoft Entra ID に送信します。 これは、多くの場合サービス プリンシパル認証と呼ばれます。

重要

これは、関連する PowerShell または REST のいずれかのドキュメントに従って、このクライアント アプリケーション ID を Microsoft Power Platform に登録した後でのみ使用できます。

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://service.powerapps.com//.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials

上記の例には、Microsoft Entra ID のクライアント アプリケーションから取得できるプレースホルダーが含まれています。 Power Platform API への後続の呼び出しに使用できる応答を受信します。

{
  "token_type": "Bearer",
  "scope": "https://service.powerapps.com//User https://service.powerapps.com//.default",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOi...UBkeW5hbWljc2F4ZGVtby5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiI1Q1Fnb25PR0dreWlTc1I2SzR4TEFBIiwidmVyIjoiMS4wIn0.N_oCJiEz2tRU9Ls9nTmbZF914MyU_u7q6bIUJdhXd9AQM2ZK-OijiKtMGfvvVmTYZp4C6sgkxSt0mOGcpmvTSagSRDY92M2__p-pEuKqva5zxXXXmpC-t9lKYDlXRcKq1m5xv-q6buntnLrvZIdd6ReD3n3_pnGAa6OxU0s82f7DqAjSQgXR3hwq_NZOa0quCUN9X-TvpIYrJfVgQfVu0R189hWmUzbYpuoPrUMj2vQI_19gEHz_FryXolM4RMStugYrC0Z72ND5vFlGgvYhZfbWJRC6hGvQQin_eAASmmjLwhRBGMJd6IdbgEXAkFF2rFITFFtFY_4hrN3bvHsveg"
}

Power Platform API への後続の呼び出しでは、認証 HTTP ヘッダーを使用して、access_token 値を使用します。

関連情報

プレビュー: API を介してサービス プリンシパル アプリケーションを作成する