デスクトップ アプリでの認証

新しいコネクタを使用して初めてデータ ソースに接続する場合、データへのアクセス時に使用する認証方法を選択するように求められることがあります。 認証方法を選択すると、指定した接続パラメーターを使用してコネクタの認証方法を選択するように再度求められることはありません。 ただし、認証方法は、必要に応じて後で変更することができます。

認証方法を選びます

コネクタごとに、異なる認証方法が示されます。 たとえば、Power BI Desktop と Excel の OData フィード コネクタでは、次の認証方法ダイアログ ボックスが表示されます。

Power Query Desktop に表示された [OData フィード] の認証ダイアログを示すスクリーンショット。

Power BI サービスや Power Apps などのオンライン アプリからコネクタを使用している場合は、次のイメージのような OData フィード コネクタの認証方法ダイアログ ボックスが Power Query に表示されます。

Power Query Online に表示された、OData コネクタの [データ ソースへの接続] ウィンドウを示すスクリーンショット。

ご覧のとおり、さまざまな認証方法がオンライン アプリから示されます。 また、オンライン アプリでは、一部のコネクタで、データに接続できるように、オンプレミス データ ゲートウェイの名前を入力するように求められる場合もあります。 Power Query Online での認証の詳細については、「Power Query Online の接続と認証」を参照してください。

認証方法のレベルを設定する

URL の入力が必要になるコネクタでは、認証方法を適用するレベルを選択するよう求められます。 たとえば、URL が https://contoso.com/2020data/List_of_countries_and_capitals の Web コネクタを選択すると、認証方法の既定のレベル設定は https://contoso.com になります。

レベルの選択が表示され、レベルが既定の URL に設定されている認証ダイアログのスクリーンショット。

このコネクタに選択した認証方法に対して選択するレベルによって、URL のどの部分に認証方法が適用されるかが決まります。 最上位の Web アドレスを選択した場合、このコネクタに選択した認証方法が、その URL アドレスまたはそのアドレス内のサブアドレスに使用されます。

ただし、サブアドレスごとに異なる認証方法が必要になる可能性があるため、最上位のアドレスを特定の認証方法に設定しないほうがよい場合があります。 たとえば、1 つの SharePoint サイトの 2 つの別個のフォルダーにアクセスするときに、それぞれ異なる Microsoft アカウントを使用してアクセスする必要がある場合などです。

コネクタの特定のアドレスに対する認証方法を設定したら、その URL アドレスまたはサブアドレスを使用する当該コネクタの認証方法を再度選択する必要はありません。 たとえば、Web コネクタの URL 設定を適用するレベルとして https://contoso.com/ アドレスを選択するとします。 この場合、Web コネクタを使用して、このアドレスで始まる Web ページにアクセスするときに、認証方法の再選択を求められることはありません。

認証方法を変更する

通常、Power Query は、接続設定セットを認識すると、それぞれの認証情報ストレージを検索して、それらの設定に一致する接続があるかどうかを確認し、ある場合は、その接続を自動的に選択します。 しかし、場合によっては、特定のデータ ソースにアクセスするために、コネクタで使用する認証方法を変更する必要があります。

Power BI Desktop または Excel で認証方法を編集するには:

  1. 次のいずれかの操作を行います。

    • Power BI Desktop の [ファイル] タブで、[オプションと設定]>[データ ソース設定] の順に選択します。

      [オプションと設定] と [データ ソース設定] が強調されている、Power BI Desktop の [ファイル] タブ ウィンドウを示すスクリーンショット。

    • Excel の [データ] タブで、[データの取得]>[データ ソース設定] の順に選択します。

      [データ ソース設定] オプションが強調されている Excel ブックのスクリーンショット。

  2. [データ ソース設定] ダイアログ ボックスで、[グローバル アクセス許可] を選択し、アクセス許可設定を変更するデータ ソースを選択してから、[アクセス許可の編集] を選択します。

  3. [アクセス許可の編集] ダイアログ ボックスの [資格情報] の下で、[編集] を選択します。

    認証情報とプライバシー レベルを変更する場所を示す、[アクセス許可の編集] ダイアログのスクリーンショット。

  4. 資格情報をデータ ソースで必要な種類に変更し、[保存] を選択してから、[OK] を選択します。

手順 3 で特定のデータ ソースの資格情報を削除することもできます。そのためには、選択したデータ ソースで [アクセス許可のクリア] を選択するか、一覧表示されたすべてのデータ ソースで [すべてのアクセス許可のクリア] を選択します。

Web コネクタと OData コネクタを使用して Microsoft Entra ID を使用して接続する

OAuth または Microsoft Entra ID ベースの認証を使用した認証を必要とするデータ ソースおよびサービスに接続する際、サービスが正しく構成されている場合は、サービス固有またはカスタムのコネクタを必要とすることなく、組み込みの Web または OData コネクタを使用して認証を行い、データに接続できます。

このセクションでは、サービスが適切に構成されていない場合の接続の現象に関する概要を示します。 また、適切に構成されている場合に、Power Query がそのサービスと対話する方法についても説明します。

サービスが正しく構成されていない場合の現象

エラー「この認証情報の種類はこのリソースでサポートされていないため、接続できませんでした。別の認証情報の種類を選択してください」が表示される場合があります。 このエラーは、サービスで、この認証の種類がサポートされていないことを意味します。

このエラーが発生しうる原因の一例として Northwind OData サービスが挙げられます。

  1. OData コネクタを使用して、"データの取得" エクスペリエンスに Northwind エンドポイントを入力します。

    Northwind サイトの URL が入力された、[OData フィード] のデータの取得ダイアログを示すスクリーンショット。

  2. [OK] を選択して、認証エクスペリエンスを入力します。 通常、Northwind は認証されたサービスではないため、[匿名] を使用します。 Microsoft Entra ID のサポートがないことを示すには、[組織アカウント] を選択し、[サインイン] を選択します。

    [組織アカウント] タブが選択されている認証ダイアログのスクリーンショット。

  3. サービスで OAuth および Microsoft Entra ID 認証がサポートされていないことを示すエラーが表示されます。

    接続できないことを示すエラー メッセージが表示された認証ダイアログのスクリーンショット。

サポートされるワークフロー

OAuth で正常に動作するサポート対象サービスの 1 つの例として CRM があります (例: https://contoso.crm.dynamics.com/api/data/v8.2)。

  1. OData コネクタを使用して、"データの取得" エクスペリエンスに URL を入力します。

    URL に CRM アドレスが入力された、[OData フィード] のデータの取得エクスペリエンスを示すスクリーンショット。

  2. [組織アカウント] を選択し、[サインイン] を選択して、OAuth を使用した接続に進みます。

    [組織アカウント] が選択され、ログインできる状態の認証ダイアログのスクリーンショット。

  3. 要求は成功し、正常に認証できるように OAuth フローが続行されます。

    [組織アカウント] が選択され、ユーザーが正常にログインした認証ダイアログのスクリーンショット。

上記の手順 2 で [ログイン] を選択すると、Power Query は、空のベアラー トークンを含む Authorization ヘッダーとともに、指定された URL エンドポイントに要求を送信します。

GET https://contoso.crm.dynamics.com/api/data/v8.2 HTTP/1.1
Authorization: Bearer
User-Agent: Microsoft.Data.Mashup (https://go.microsoft.com/fwlink/?LinkID=304225)
Host: pbi.crm.dynamics.com
Connection: Keep-Alive

サービスは、使用する Microsoft Entra ID 認証 URI を示す WWW_Authenticate ヘッダーとともに 401 応答で応答することが想定されます。 この応答には、サインインするテナント、またはリソースが特定のテナントに関連付けられていない場合は /common/ が含まれている必要があります。

HTTP/1.1 401 Unauthorized
Cache-Control: private
Content-Type: text/html
Server: 
WWW-Authenticate: Bearer authorization_uri=https://login.microsoftonline.com/3df2eaf6-33d0-4a10-8ce8-7e596000ebe7/oauth2/authorize 
Date: Wed, 15 Aug 2018 15:02:04 GMT
Content-Length: 49

その後、Power Query は、authorization_uri に対して OAuth フローを開始できます。 Power Query は、要求されている URL のドメインに対応する Microsoft Entra ID のリソースまたは対象ユーザーの値を要求します。 この値は、API またはサービスの登録で Azure アプリケーション ID の URL 値として使用する値になります。 たとえば、https://api.myservice.com/path/to/data/api にアクセスする場合、Power Query は、アプリケーション ID の URL 値が https://api.myservice.com と等しいと想定します。

OAuth フローをより詳細に制御する必要がある場合 (たとえば、サービスが 401 ではなく 302 で応答する必要がある場合)、またはアプリケーションのアプリケーション ID URL または Microsoft Entra ID リソースの値がサービスの URL と一致しない場合は、カスタム コネクタを使用する必要があります。 組み込みの Microsoft Entra ID フローの使用の詳細については、「Microsoft Entra ID 認証」に移動してください。

Microsoft Entra ID のクライアント ID

Power Query では、次の Microsoft Entra ID のクライアント ID が使用されます。 全体的な Microsoft Entra ID 設定に応じて、これらのクライアント ID にサービスおよび API へのアクセスを明示的に許可することが必要になる場合があります。 詳細については、「スコープの追加」の手順 8 を参照してください。

クライアント ID タイトル 説明
a672d62c-fc7b-4e81-a576-e60dc46e951d Power Query for Excel パブリック クライアント。Power BI Desktop とゲートウェイで使用されます。
b52893c8-bc2e-47fc-918b-77022b299bbc Power BI データ更新 機密クライアント。Power BI サービスで使用されます。
7ab7862c-4c57-491e-8a45-d52a7e023983 Power AppsおよびPower Automate Power Apps と Power Automate で使用される機密クライアント。