桌面應用程式中的驗證

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

選取驗證方法

不同的連接器會顯示不同的驗證方法。 例如,Power BI Desktop 和 Excel 中的 OData Feed 連接器會顯示以下認證方法對話框。

Power Query Desktop 中 OData 訊號驗證對話框的截圖。

如果您使用的是線上應用程式的連接器,例如 Power BI 服務或 Power Apps,則 Power Query 會顯示 OData Feed 連接器的身份驗證方法對話框,該對話框看起來與以下圖片相似。

Power Query Online 中 OData 連接器 Connect to data source 視窗的截圖。

如您所見,在線應用程式會顯示不同的驗證方法選擇。 此外,在在線應用程式中,某些連接器可能會要求您輸入內部部署數據網關的名稱,才能連線到您的數據。 欲了解更多關於 Power Query Online 認證的資訊,請至 Connections and Authentication in Power Query Online

設定驗證方法的層級

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

驗證對話截圖,顯示關卡選擇,且關卡設定為預設。

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

不過,您可能不想將最上層位址設定為特定的驗證方法,因為不同的子位址可能需要不同的驗證方法。 舉例來說,如果你同時存取同一個 SharePoint 網站的兩個獨立資料夾,想用不同的 Microsoft 帳號來存取它們。

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

變更驗證方法

通常當 Power Query 辨識到一組連線設定時,會嘗試在對應的憑證儲存中查找是否有符合這些設定的連線,如果有,就會自動選擇該連線。 不過,在某些情況下,您可能需要變更連接器中用來存取特定數據源的驗證方法。

要編輯 Power BI Desktop 或 Excel 中的認證方法:

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

    • 在Power BI桌面,File標籤中,選擇Options and settings>Data source settings

      Power BI桌面檔案分頁的截圖,選項、設定和資料來源設定都被強調了。

    • 在Excel中,在Data標籤中,選擇取得資料>Data Source Settings

      Excel工作簿截圖,強調資料來源設定選項。

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

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

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

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

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

使用 Web 和 OData 連接器來連接 Microsoft Entra ID

當連接需要透過 OAuth 或 Microsoft Entra ID 認證認證的資料來源和服務時,在某些情況下,只要服務設定正確,你可以使用內建的 WebOData Feed連接器來驗證並連接資料,無需服務專用或自訂連接器。

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

未正確設定服務時的徵兆

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

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

  1. 使用 OData 連接器,在「取得資料」介面中輸入 Northwind 端點。

    輸入 Northwind 網站為網址的 OData 擷取資料對話框的截圖。

  2. 選取 [確定] 以進入驗證體驗。 通常因為 Northwind 不是認證服務,你會直接用 Anonymous。 若要顯示對Microsoft Entra ID缺乏支援,請選擇Organizational account,然後選擇登入

    選中組織帳號標籤時的認證對話截圖。

  3. 你會遇到錯誤,表示該服務不支援 OAuth 或 Microsoft Entra ID 認證。

    驗證對話框的截圖顯示無法連線錯誤訊息。

支援的工作流程

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

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

    顯示輸入 CRM 地址於網址中的 OData 資料饋送截圖,體驗取得資料的過程。

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

    驗證對話截圖,組織帳號已選中並準備登入。

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

    這是驗證對話框的截圖,選取了組織帳號且使用者成功登入。

當你在上方步驟 2 選擇 Sign-in,Power Query 會向所提供的 URL 端點發送請求,授權標頭包含空的 bearer token。

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

接著,服務預期會以 401 回應,並以 WWW-Authenticate 標頭指示要使用的 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 應用程式 ID URL 的值。 例如,若存取 https://api.myservice.com/path/to/data/api,Power Query預期你的應用程式 ID URL 值應等於 https://api.myservice.com

如果你需要對 OAuth 流程有更多控制(例如,如果你的服務必須用 302 而不是 401),或者你的應用程式 ID URL 或 Microsoft Entra ID Resource 值與服務的 URL 不符,那你就需要使用自訂連接器。 欲了解更多使用我們內建Microsoft Entra ID流程的資訊,請造訪 Microsoft Entra ID authentication

Microsoft Entra ID 客戶端 ID

以下 Microsoft Entra ID 用戶端 ID 是 Power Query 使用的。 你可能需要明確允許這些客戶端 ID 存取你的服務和 API,這取決於你整體 Microsoft Entra ID 的設定。 如需詳細資訊,請移至 新增範圍 的步驟 6。

用戶端識別碼 標題 描述
a672d62c-fc7b-4e81-a576-e60dc46e951d Power Query for Excel (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。