桌面應用程式中的驗證
當您第一次嘗試使用新連接器連線到數據源時,系統可能會要求您選取存取資料時要使用的驗證方法。 選取驗證方法之後,系統不會要求您再次使用指定的連線參數來選取連接器的驗證方法。 不過,如果您需要稍後變更驗證方法,您可以這麼做。
選取驗證方法
不同的連接器會顯示不同的驗證方法。 例如,Power BI Desktop 和 Excel 中的 OData 資料饋送連接器會顯示下列驗證方法對話方塊。
如果您從線上應用程式使用連接器,例如 Power BI 服務或 Power Apps,Power Query 會顯示 OData 資料源連接器的驗證方法對話框,如下圖所示。
如您所見,在線應用程式會顯示不同的驗證方法選擇。 此外,在在線應用程式中,某些連接器可能會要求您輸入內部部署數據網關的名稱,才能連線到您的數據。 如需 Power Query Online 中驗證的詳細資訊,請移至 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 中編輯驗證方法:
執行下列其中一項動作:
在 Power BI Desktop 的 [檔案] 索引卷標上,選取 [[選項和設定]>[數據源設定]。
在 Excel 的 [資料] 索引標籤上,選取 [取得資料>數據源設定]。
在 [
數據源設定 ] 對話框中,選取 [全域許可權 ],選擇您要變更許可權設定的數據源,然後選取 [編輯許可權]。 在 [
編輯許可權 ] 對話方塊的 [認證 ] 底下,選取 [編輯]。 將認證變更為資料來源所需的類型,選取 [儲存],然後選取 [確定]。
您也可以在步驟 3 中刪除特定數據源的認證,方法是選取所選數據源的 [清除許可權]
使用 Web 和 OData 連接器與 Microsoft Entra 識別碼進行連線
當連線到需要透過 OAuth 或 Microsoft Entra ID 驗證的資料來源和服務時,在服務設定正確的某些情況下,您可以使用內建的 網頁 或 OData 連接器來驗證並連線至資料,而無需使用服務特定或自訂的連接器。
本節概述未正確設定服務時的連線徵兆。 它也提供Power Query 在正確設定時如何與服務互動的資訊。
未正確設定服務時的徵兆
您可能會遇到錯誤,我們無法連線,因為此資源不支援此認證類型。請選擇另一個認證類型。 此錯誤表示您的服務不支援驗證類型。
發生此錯誤的其中一個範例是在 Northwind OData 服務中。
使用 OData 連接器,在「取得資料」介面中輸入 Northwind 端點。
選取 [確定] 以進入驗證體驗。 一般而言,由於 Northwind 不是已驗證的服務,因此您只需使用 Anonymous。 若要顯示不支援 Microsoft Entra ID,請選擇 [組織帳戶],然後選取 [登入]。
您遇到錯誤,表示服務不支援 OAuth 或 Microsoft Entra ID 驗證。
支援的工作流程
使用 OAuth 正常運作的支持服務範例之一是 CRM,例如,https://contoso.crm.dynamics.com/api/data/v8.2
。
使用 OData 連接器,在「取得數據」體驗中輸入 URL。
選取 [組織帳戶],然後選取 [登入 以繼續使用 OAuth 進行連線。
要求成功,且 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
接著,服務會以 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 要求的 Microsoft Entra ID 資源或受眾值必須等於所請求 URL 的網域。 此值會是您用於 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 ID 認證流程的詳細資訊,請前往 Microsoft Entra ID 驗證。
Microsoft Entra ID 用戶端標識碼
Power Query 會使用下列Microsoft Entra ID 用戶端標識碼。 您可能需要根據您整體的 Microsoft Entra ID 設定,明確允許這些用戶端 ID 存取您的服務和 API。 如需詳細資訊,請移至 新增範圍 的步驟 6。
用戶端識別碼 | 標題 | 描述 |
---|---|---|
a672d62c-fc7b-4e81-a576-e60dc46e951d | Power Query 適用於 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 中使用的機密用戶端。 |