クイックスタート: カスタム コネクタ用の Microsoft Entra の構成
このガイドでは、Power Query カスタム コネクタで使用する Microsoft Entra アプリケーションを構成する手順について説明します。 始める前に、コネクタ開発者が Microsoft ID プラットフォームの概念を確認することをお勧めします。
アプリケーションという用語は Microsoft Entra プラットフォームの複数のコンテキストで使用されているため、このガイドでは次の用語を使用して、コネクタとデータ ソースのアプリケーション ID を区別します。
- クライアント アプリケーション: Power Query コネクタで使用される Microsoft Entra クライアント ID。
- リソース アプリケーション: コネクタが接続するエンドポイント (使用するサービスまたはデータ ソース) の Microsoft Entra アプリケーション登録。
カスタム コネクタの Microsoft Entra サポートを有効にするには、次の作業が必要です。
- コネクタによって使用されるリソース アプリケーションで 1 つ以上 のスコープ を定義する。
- Power Query クライアント ID を事前に認証して、これらのスコープを使用する。
- コネクタ定義で正しい
Resource
およびScopes
値を設定する。
このガイドでは、新しいリソース アプリケーションを Microsoft Entra に登録することを前提としています。 既存のリソース アプリケーションがある開発者は、「スコープの構成」セクションに進むことができます。
Note
サービスまたはアプリケーションで Microsoft Entra を使用する方法の詳細については、クイックスタート ガイドの 1 つを参照してください。
リソース アプリケーションの登録
データ ソースまたは API エンドポイントは、このリソース アプリケーションを使用して、サービスと Microsoft ID プラットフォーム間の信頼を確立します。
新しいリソース アプリケーションを登録するには、これらの手順に従ってください。
- クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
- [ID]>[アプリケーション]>[アプリの登録] に移動し、[新規登録] を選びます。
- アプリケーションの表示名を入力します。
- [サポートされているアカウントの種類] では、エンドポイントが organization 内からのみアクセスできる場合にのみ、[この組織ディレクトリのアカウントのみ] を選択します。 パブリックにアクセス可能なマルチテナント サービスの場合は、[任意の組織ディレクトリのアカウント] を選択します。
- 登録 を選択します。
リダイレクト URI 値を指定する必要はありません。
登録が完了すると、アプリケーションの [概要] ページが表示されます。 サービスのソース コードで使用されるディレクトリ (テナント) ID とアプリケーション (クライアント) ID の値を書き留めます。 サービス環境とアーキテクチャに似た「Microsoft ID プラットフォーム コード サンプル」のいずれかのガイドに従って、新しいアプリケーションを構成して使用する方法を決定します。
アプリケーション ID URI を設定
エンドポイントのスコープを構成する前に、リソース アプリケーションのアプリケーション ID URI を設定する必要があります。 この ID は、コネクタ内の Resource
レコードの Aad
フィールドによって使用されます。 この値は、サービスのルート URL に設定されます。 api://{clientId}
がリソース アプリケーションのクライアント ID であり、Microsoft Entraによって生成されるデフォルトである {clientId}
を使用することもできます。
- リソース アプリケーションの [概要] ページに移動します。
- 中央の画面の [要点] で、[アプリケーション ID URI の追加] を選択します。
- アプリ ID に基づき、URI を入力するか、デフォルトをそのまま使用します。
- [Save and continue](保存して続行) を選択します。
このガイドの例では、デフォルトのアプリケーション ID URI 形式 (たとえば api://44994a60-7f50-4eca-86b2-5d44f873f93f
) を使用していることを前提としています。
スコープの構成
スコープは、サービス内の API またはデータにアクセスするためのアクセス許可または機能を定義するのに使用します。 サポートされているスコープの一覧はサービス固有です。 コネクタに必要な最小限のスコープ セットを決定する必要があります。 Power Query クライアント ID のスコープを少なくとも 1 つ事前認証する必要があります。
リソース アプリケーションに既にスコープが定義されている場合は、次の手順に進むことができます。
サービスでスコープ ベースのアクセス許可が使用されていない場合でも、コネクタによって使用される 1 つのスコープを定義できます。 今後は (必要に応じて) サービス コードでこのスコープを使用できます。
この例では、Data.Read という 1 つのスコープを定義します。
- リソース アプリケーションの [概要] ページに移動します。
- [管理] で、[API の公開] > [スコープの追加] の順に選択します。
- [スコープ名] に「Data.Read」と入力します。
- [同意できるユーザー] で、[管理者とユーザー] オプションを選択します。
- 残りの表示名と説明のボックスに入力します。
- [状態] が [有効] に設定されていることを確認します。
- スコープの追加を選択します。
Power Query クライアント アプリケーションの事前認証
Power Query コネクタでは、2 種類の Microsoft Entra クライアント ID が使用されます。 これらのクライアント ID のスコープを事前認証すると、接続エクスペリエンスが簡素化されます。
クライアント ID | アプリケーション名 | 使用ページ |
---|---|---|
a672d62c-fc7b-4e81-a576-e60dc46e951d | Power Query for Excel | デスクトップ環境 |
b52893c8-bc2e-47fc-918b-77022b299bbc | Power BI データ更新 | サービス環境 |
Power Query クライアント ID を事前認証するには:
- リソース アプリケーションの [概要] ページに移動します。
- [管理] の [API の公開] を選択します。
- クライアント アプリケーションの追加を選択します。
- Power Query クライアント ID のいずれかを入力します。
- 適切な [承認スコープ] を選択します。
- [アプリケーションの追加] をクリックします。
- Power Query クライアント ID ごとに手順 3 から 6 を繰り返します。
コネクタで Aad 認証の種類を有効にする
コネクタのデータ ソース レコードに Aad
認証の種類を追加することで、コネクタに対する Microsoft Entra ID のサポートが有効になります。
MyConnector = [
Authentication = [
Aad = [
AuthorizationUri = "https://login.microsoftonline.com/common/oauth2/authorize",
Resource = "{YourApplicationIdUri}"
Scope = ".default"
]
]
];
{YourApplicationIdUri}
値をリソース アプリケーション (たとえば api://44994a60-7f50-4eca-86b2-5d44f873f93f
) のアプリケーション ID URI 値に置き換えます。
次の点に注意してください。
- AuthorizationUri: 認証フローを開始するのに使用される Microsoft Entra URL。
ほとんどのコネクタではこの値を
https://login.microsoftonline.com/common/oauth2/authorize
にハードコーディングできますが、サービスで Azure B2B/ゲスト アカウントがサポートされている場合は動的に決定することもできます。 詳細については、「サンプル」を参照してください。 - リソース: コネクタのアプリケーション ID URI。
- スコープ: .default スコープを使用して、事前に認証されたすべてのスコープを自動的に受信します。
.default
を使用すると、コネクタを更新する必要なく、リソース アプリケーションの登録で必要なコネクタ スコープを変更できます。
コネクタで Microsoft Entra サポートを構成する方法の詳細とオプションについては、Microsoft Entra ID 認証のサンプルのページを参照してください。
コネクタを再構築すると、Microsoft Entra ID を使用してサービスで認証できるようになります。
トラブルシューティング
このセクションでは、Microsoft Entra アプリケーションが正しく構成されていない場合に発生する可能性がある一般的なエラーについて説明します。
Power Query アプリケーションが事前認証されていない
access_denied: AADSTS650057: リソースが無効です。 クライアントが、クライアントのアプリケーションの登録で要求されたアクセス許可に記載されていないリソースへのアクセスを要求しています。 クライアント アプリ ID: a672d62c-fc7b-4e81-a576-e60dc46e951d(Microsoft Power Query for Excel)。 要求からのリソース値: 44994a60-7f50-4eca-86b2-5d44f873f93f。 リソース アプリ ID: 44994a60-7f50-4eca-86b2-5d44f873f93
リソース アプリケーションが Power Query クライアント アプリケーションを事前認証していない場合、このエラーが表示されることがあります。 Power Query クライアント ID を事前認証する手順に従ってください。
コネクタの Aad レコードにスコープ値がありません
access_denied: AADSTS650053: アプリケーション 'Microsoft Power Query for Excel' は、リソース '44994a60-7f50-4eca-86b2-5d44f873f93f' に存在しないスコープ 'user_impersonation' を要求しました。 アプリ ベンダーに問い合わせてください。
コネクタの Aad
レコードで Scope
フィールドが定義されていない場合、または Scope
値 が null
である場合に、Power Query は user_impersonation
スコープを要求します。 この問題は、コネクタで Scope
値を定義することで解決できます。 .default
スコープを使用することをお勧めしますが、コネクタ レベル (たとえば Data.Read
) でスコープを指定することもできます。
スコープまたはクライアント アプリケーションで管理者の承認が必要
管理者の承認が必要です。 <テナント>には、管理者のみが付与できる、organization 内のリソースへのアクセス許可が必要です。 使用するには、まず、このアプリへのアクセス許可の付与を管理者に依頼してください。
リソース アプリケーションで管理者により制限されたアクセス許可が必要な場合、またはユーザーのテナントが管理者以外のユーザーが新しいアプリケーションのアクセス許可の要求に同意できない場合、ユーザーは認証フロー中にこのエラーに遭遇する可能性があります。 この問題は、コネクタで管理者により制限されたスコープが必要でないようにし、 リソース アプリケーションの Power Query クライアント ID を事前認証することで回避できます。