Share via


快速入門:設定自定義連接器的 Microsoft Entra

本指南說明設定 Microsoft Entra 應用程式以搭配 Power Query 自定義連接器使用的步驟。 建議您先檢閱連接器開發人員 Microsoft 身分識別平台的概念,再繼續進行。

由於應用程式字詞用於 Microsoft Entra 平臺的多個內容中,本指南會使用下列詞彙來區分連接器數據源應用程式識別碼:

  • 用戶端應用程式:P ower Query 連接器所使用的 Microsoft Entra 用戶端識別符。
  • 資源應用程式:連接器所連線端點的 Microsoft Entra 應用程式註冊(也就是您的服務或數據源)。

開啟自訂連接器的 Microsoft Entra 支援牽涉到:

  • 在連接器所使用的資源應用程式中定義一或多個 範圍
  • 預先授權 Power Query 用戶端識別碼以使用這些範圍。
  • 在連接器定義中設定正確 ResourceScopes 值。

本指南假設已在 Microsoft Entra 中註冊新的資源應用程式。 具有現有資源應用程式的開發人員可以跳到 [ 設定範圍 ] 區段。

注意

如需在服務或應用程式中使用 Microsoft Entra 的詳細資訊,請移至其中 一個快速入門指南

註冊資源應用程式

您的數據來源或 API 端點會使用此資源應用程式來建立服務與 Microsoft 身分識別平台 之間的信任。

請遵循下列步驟來註冊新的資源應用程式:

  1. 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  2. 流覽至 [身分>識別應用程式> 應用程式註冊],然後選取 [新增註冊]。
  3. 輸入應用程式的顯示 名稱
  4. 針對 [支持的帳戶類型],只有在您的端點只能從組織內部存取時,才選取 [此組織目錄中的帳戶]。 選取 任何組織目錄中 的 [帳戶],以取得可公開存取的多租用戶服務。
  5. 選取註冊

您不需要指定 重新導向 URI 值。

註冊完成時,會顯示應用程式的 [ 概觀 ] 頁面。 記下 目錄 (租使用者) 識別碼應用程式 (用戶端) 識別碼 ,因為它們將用於您服務的原始程式碼中。 請遵循 Microsoft 身分識別平台 程式代碼範例中的其中一個指南,此範例類似於您的服務環境和架構,以判斷如何設定及使用新的應用程式。

設定應用程式識別碼 URI

必須先為資源應用程式設定應用程式識別碼 URI,才能設定端點的範圍。 連接器中記錄的Aad欄位將會使用此Resource識別碼。 值會設定為服務的根 URL。 您也可以使用 Microsoft Entra 所產生的預設值 - api://{clientId} 其中 {clientId} 是資源應用程式的用戶端識別碼。

  1. 移至資源應用程式的 [概觀 ] 頁面。
  2. 在中央畫面的 [基本資訊] 底下,選取 [新增應用程式標識符 URI]。
  3. 輸入 URI,或根據您的應用程式識別碼接受預設值。
  4. 選取 [儲存並繼續] 。

本指南中的範例假設您使用的是預設的應用程式識別碼 URI 格式(例如 - api://44994a60-7f50-4eca-86b2-5d44f873f93f)。

設定範圍

範圍可用來定義許可權或功能,以存取您服務中的 API 或數據。 支援的範圍清單是服務特定的。 您想要判斷連接器所需的最小範圍集合。 您必須為 Power Query 用戶端識別碼預先授權至少一個範圍。

如果您的資源應用程式已定義範圍,您可以跳到 下一個步驟

如果您的服務未使用範圍型許可權,您仍然可以定義連接器所使用的單一範圍。 您未來可以在服務程式代碼中使用此範圍。

在此範例中,您會定義名為 Data.Read 的單一範圍。

  1. 移至資源應用程式的 [概觀 ] 頁面。
  2. 在 [管理] 底下,選取 [公開 API > 新增範圍]。
  3. 針對 [範圍名稱],輸入 Data.Read
  4. 針對 神秘 可以同意,請選取 [管理員 和使用者] 選項。
  5. 填寫其餘的顯示名稱和描述方塊。
  6. 確定 [狀態 ] 設定為 [已啟用]。
  7. 選取新增範圍

預先授權 Power Query 用戶端應用程式

Power Query 連接器使用兩個不同的 Microsoft Entra 用戶端識別碼。 預先授權這些用戶端標識碼的範圍可簡化連線體驗。

用戶端識別碼 應用程式名稱 使用者
a672d62c-fc7b-4e81-a576-e60dc46e951d Power Query for Excel 桌面環境
b52893c8-bc2e-47fc-918b-77022b299bbc Power BI 數據重新整理 服務環境

若要預先授權 Power Query 用戶端識別碼:

  1. 移至資源應用程式的 [概觀 ] 頁面。
  2. 在 [管理] 底下,選取 [公開 API]
  3. 選取新增用戶端應用程式
  4. 輸入其中一個 Power Query 用戶端識別碼。
  5. 選取適當的 授權範圍
  6. 選取新增應用程式
  7. 針對每個 Power Query 用戶端識別子重複步驟 3 - 6。

在您的連接器中啟用 Aad 驗證種類

連接器已啟用 Microsoft Entra ID 支援,方法是將驗證種類新增 Aad 至連接器的數據源記錄。

MyConnector = [
    Authentication = [
        Aad = [
            AuthorizationUri = "https://login.microsoftonline.com/common/oauth2/authorize",
            Resource = "{YourApplicationIdUri}"
            Scope = ".default"
        ]
    ]
];

{YourApplicationIdUri}資源應用程式的 [應用程式識別碼 URI] 值取代值,例如 api://44994a60-7f50-4eca-86b2-5d44f873f93f

在此範例中:

  • AuthorizationUri:用來起始驗證流程的 Microsoft Entra URL。 大部分連接器都可以將此值硬式編碼為 https://login.microsoftonline.com/common/oauth2/authorize,但如果您的服務支援 Azure B2B/來賓帳戶,也可以動態判斷此值。 如需詳細資訊,請移至 範例
  • 資源:連接器的應用程式識別碼 URI。
  • 範圍:使用 .default 範圍自動接收所有預先授權的範圍。 使用 .default 可讓您變更資源應用程式註冊中所需的連接器範圍,而不需要更新連接器。

如需在連接器中設定 Microsoft Entra 支援的詳細資訊和選項,請移至 Microsoft Entra ID 驗證範例頁面

重建連接器,您現在應該能夠使用 Microsoft Entra ID 向服務進行驗證。

疑難排解

本節說明如果 Microsoft Entra 應用程式設定錯誤,您可能會收到常見的錯誤。

Power Query 應用程式尚未預先授權

access_denied:AADSTS650057:無效的資源。 用戶端已要求存取未列在用戶端應用程式註冊中要求許可權的資源。 用戶端應用程式標識碼:a672d62c-fc7b-4e81-a576-e60dc46e951d(Microsoft Power Query for Excel)。 來自要求的資源值:44994a60-7f50-4eca-86b2-5d44f873f93f。 資源應用程式標識碼:44994a60-7f50-4eca-86b2-5d44f873f93

如果您的資源應用程式尚未預先授權 Power Query 用戶端應用程式,您可能會看到此錯誤。 請遵循步驟來 預先授權 Power Query 用戶端識別碼

連線 or 的 Aad 記錄遺漏範圍值

access_denied:AADSTS650053:應用程式 'Microsoft Power Query for Excel' 要求資源 '44994a60-7f50-4eca-86b2-5d44f873f93f' 的範圍 'user_impersonation'。 請連絡應用程式廠商。

如果連接器的Aad記錄未定義Scope欄位,或Scope值為 null,Power Query 會要求user_impersonation範圍。 您可以在連接器中定義 Scope 值來解決此問題。 .default建議使用範圍,但您也可以在連接器層級指定範圍(例如 - Data.Read)。

範圍或用戶端應用程式需要系統管理員核准

需要系統管理員核准。 <租> 使用者需要許可權,才能存取組織中只有系統管理員可以授與的資源。 請先要求系統管理員授與此應用程式的許可權,才能使用它。

如果您的資源應用程式需要 系統管理員限制的許可權 ,或使用者的租用戶無法同意新的應用程式許可權要求,使用者可能會在驗證流程期間收到此錯誤。 您可以藉由確保連接器不需要任何系統管理員限制的範圍,並 預先授權資源應用程式的 Power Query 用戶端識別碼 ,以避免此問題。