當您第一次嘗試使用新連接器連線到數據源時,系統可能會要求您選取存取資料時要使用的驗證方法。 選取驗證方法之後,系統不會要求您再次使用指定的連線參數來選取連接器的驗證方法。 不過,如果您需要稍後變更驗證方法,您可以這麼做。
選取驗證方法
不同的連接器會顯示不同的驗證方法。 例如,Power BI Desktop 和 Excel 中的 OData Feed 連接器會顯示以下認證方法對話框。
如果您使用的是線上應用程式的連接器,例如 Power BI 服務或 Power Apps,則 Power Query 會顯示 OData Feed 連接器的身份驗證方法對話框,該對話框看起來與以下圖片相似。
如您所見,在線應用程式會顯示不同的驗證方法選擇。 此外,在在線應用程式中,某些連接器可能會要求您輸入內部部署數據網關的名稱,才能連線到您的數據。 欲了解更多關於 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 中的認證方法:
執行下列其中一項動作:
在 [
數據源設定 ] 對話框中,選取 [全域許可權 ],選擇您要變更許可權設定的數據源,然後選取 [編輯許可權]。 在 [
編輯許可權 ] 對話方塊的 [認證 ] 底下,選取 [編輯]。 將認證變更為資料來源所需的類型,選取 [儲存],然後選取 [確定]。
您也可以在步驟 3 中刪除特定數據源的認證,方法是選取所選數據源的 [清除許可權]
使用 Web 和 OData 連接器來連接 Microsoft Entra ID
當連接需要透過 OAuth 或 Microsoft Entra ID 認證認證的資料來源和服務時,在某些情況下,只要服務設定正確,你可以使用內建的
本節概述未正確設定服務時的連線徵兆。 它也提供 Power Query 在正確配置後如何與服務互動的資訊。
未正確設定服務時的徵兆
你可能會遇到 錯誤訊息:我們無法連線,因為此憑證類型不支援此資源。請選擇其他類型的證照。 此錯誤表示您的服務不支援驗證類型。
發生此錯誤的其中一個範例是在 Northwind OData 服務中。
使用 OData 連接器,在「取得資料」介面中輸入 Northwind 端點。
選取 [確定] 以進入驗證體驗。 通常因為 Northwind 不是認證服務,你會直接用 Anonymous。 若要顯示對Microsoft Entra ID缺乏支援,請選擇Organizational account,然後選擇登入。
你會遇到錯誤,表示該服務不支援 OAuth 或 Microsoft Entra ID 認證。
支援的工作流程
使用 OAuth 正常運作的支持服務範例之一是 CRM,例如,https://contoso.crm.dynamics.com/api/data/v8.2。
當你在上方步驟 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。 |