傳統型應用程式中的驗證

當您第一次嘗試使用新連接器連線到數據源時,系統可能會要求您選取存取資料時要使用的驗證方法。 選取驗證方法之後,系統不會要求您再次使用指定的連線參數來選取連接器的驗證方法。 不過,如果您需要稍後變更驗證方法,您可以這麼做。

選取驗證方法

不同的連接器會顯示不同的驗證方法。 例如,Power BI Desktop 和 Excel 中的 OData 摘要連接器會顯示下列驗證方法對話方塊。

Power Query Desktop 中 OData 摘要之驗證對話框的螢幕快照。

如果您是從在線應用程式使用連接器,例如 Power BI 服務 或 Power Apps,Power Query 會顯示 OData 摘要連接器的驗證方法對話框,其看起來類似下圖。

Power Query Online 中 OData 連接器 連線 數據源視窗的螢幕快照。

如您所見,在線應用程式會顯示不同的驗證方法選擇。 此外,在在線應用程式中,某些連接器可能會要求您輸入內部部署數據網關的名稱,才能連線到您的數據。 如需 Power Query Online 中驗證的詳細資訊,請移至 Power Query Online 中的 連線 和驗證。

設定驗證方法的層級

在需要輸入 URL 的連接器中,系統會要求您選取套用驗證方法的層級。 例如,如果您選擇取具有 URL 的 https://contoso.com/2020data/List_of_countries_and_capitalsWeb 連接器,則驗證方法的預設層級設定為 https://contoso.com

[驗證] 對話框的螢幕快照,其中顯示層級選取專案,並將層級設定為預設設定。

您為此連接器選擇的驗證方法選取的層級會決定 URL 中套用驗證方法的部分。 如果您選取最上層網址,您為此連接器選取的驗證方法會用於該 URL 位址或任何該位址內的子位址。

不過,您可能不想將最上層位址設定為特定的驗證方法,因為不同的子位址可能需要不同的驗證方法。 其中一個範例可能是,如果您正在存取單一 SharePoint 網站的兩個不同的資料夾,而且想要使用不同的 Microsoft 帳戶來存取每個資料夾。

設定連接器特定地址的驗證方法之後,您就不需要再使用該 URL 位址或任何子地址來選取該連接器的驗證方法。 例如,假設您選取 https://contoso.com/ 位址作為您想要套用 Web 連接器 URL 設定的層級。 每當您使用 Web 連接器 來存取以這個位址開頭的任何網頁時,就不需要再次選取驗證方法。

變更驗證方法

一般而言,當 Power Query 辨識一組連線設定時,它會嘗試在其各自的認證記憶體中查閱,以查看是否有符合這些設定的連線,如果是的話,會自動選取該連線。 不過,在某些情況下,您可能需要變更連接器中用來存取特定數據源的驗證方法。

若要在 Power BI Desktop 或 Excel 中編輯驗證方法:

  1. 執行下列其中一項動作:

    • 在 Power BI Desktop 的 [ 檔案 ] 索引標籤上,選取 [ 選項和設定>數據源設定]。

      Power BI Desktop 檔案索引卷標窗格的螢幕快照,其中強調 [選項和設定] 和 [數據源設定]。

    • 在 Excel 的 [數據] 索引標籤上,選取 [取得>數據源] 設定。

      Excel 活頁簿的螢幕快照,其中強調 [數據源 設定] 選項。

  2. 在 [ 數據源設定 ] 對話框中,選取 [全域許可權],選擇您要變更許可權設定的數據源,然後選取 [ 編輯許可權]。

  3. 在 [編輯許可權] 對話方塊的 [認證] 底下,選取 [編輯]。

    [編輯許可權] 對話框的螢幕快照,其中包含變更認證和隱私權等級的位置。

  4. 將認證變更為數據源所需的類型,選取 [ 儲存],然後選取 [ 確定]。

您也可以選取所選取資料來源的 [清除許可權],或針對所有列出的數據源選取 [清除所有許可權],以刪除步驟 3 中特定數據源的認證。

使用 Web 和 OData 連接器搭配 Microsoft Entra 識別碼 連線

連線到需要透過 OAuth 或 Microsoft Entra ID 型驗證進行驗證的數據源和服務時,在某些情況下,您可以利用內 建的 WebOData 連接器來驗證和連線資料,而不需要服務特定或自定義連接器。

本節概述未正確設定服務時的連線徵兆。 它也提供Power Query 在正確設定時如何與服務互動的資訊。

未正確設定服務時的徵兆

您可能會遇到錯誤 :我們無法連線,因為此資源不支援此認證類型。請選擇其他認證類型。 此錯誤表示您的服務不支援驗證類型。

發生此錯誤的其中一個範例是在 Northwind OData 服務中。

  1. 使用 OData 連接器,在「取得數據」體驗中輸入 Northwind 端點。

    OData 摘要取得數據對話框的螢幕快照,其中已輸入 Northwind 網站作為 URL。

  2. 選取 [ 確定 ] 以輸入驗證體驗。 一般而言,由於 Northwind 不是已驗證的服務,因此您只會使用 Anonymous。 若要示範不支援 Microsoft Entra ID,請選擇 [組織帳戶],然後選取 [ 登入]。

    已選取 [組織帳戶] 索引標籤的 [驗證] 對話框螢幕快照。

  3. 您遇到錯誤,指出服務中不支援 OAuth 或 Microsoft Entra ID 驗證。

    顯示無法連線錯誤訊息的驗證對話框螢幕快照。

支援的工作流程

使用 OAuth 正常運作的其中一個支援服務範例是 CRM,例如 https://contoso.crm.dynamics.com/api/data/v8.2

  1. 使用 OData 連接器,在「取得數據」體驗中輸入 URL。

    OData 摘要的螢幕快照,可取得 URL 中所輸入 CRM 位址的數據體驗。

  2. 選取 [組織帳戶],然後選取 [登入 ] 以繼續使用 OAuth 進行連線。

    [驗證] 對話框的螢幕快照,其中已選取組織帳戶並準備好登入。

  3. 要求成功,且 OAuth 流程會繼續讓您成功進行驗證。

    [驗證] 對話框的螢幕快照,其中已選取組織帳戶,且使用者已成功登入。

當您在上述步驟 2 中選取 [登入 ] 時,Power Query 會使用具有空白持有人令牌的授權標頭,將要求傳送至提供的 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

接著,服務會以 WWW-Authenticate 標頭回應 401 回應,指出要使用的 Microsoft Entra ID 授權 URI。 如果資源未與特定租使用者相關聯,則此回應應包含要登入的租使用者,或 /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 應用程式 識別碼 URL 值的值。 例如,如果存取 https://api.myservice.com/path/to/data/api,Power Query 會預期您的應用程式識別碼 URL 值等於 https://api.myservice.com

如果您需要對 OAuth 流程進行更多控制(例如,如果您的服務必須以 302 而非 401回應),或如果您的應用程式的應用程式標識碼 URL 或 Microsoft Entra ID 資源值不符合服務的 URL,則您必須使用自定義連接器。 如需使用內建 Microsoft Entra 識別碼流程的詳細資訊,請移至 Microsoft Entra ID 驗證

Microsoft Entra ID 用戶端標識碼

Power Query 會使用下列 Microsoft Entra ID 用戶端識別碼。 視整體 Microsoft Entra ID 設定而定,您可能需要明確允許這些用戶端識別碼存取您的服務和 API。 如需詳細數據,請移至新增範圍的步驟 8

用戶端識別碼 標題 描述
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 中使用的機密用戶端。