快速入門:設定自定義連接器的 Microsoft Entra
本指南說明設定 Microsoft Entra 應用程式以搭配 Power Query 自定義連接器使用的步驟。 建議您先檢閱連接器開發人員 Microsoft 身分識別平台的概念,再繼續進行。
由於應用程式字詞用於 Microsoft Entra 平臺的多個內容中,本指南會使用下列詞彙來區分連接器和數據源應用程式識別碼:
- 用戶端應用程式:P ower Query 連接器所使用的 Microsoft Entra 用戶端識別符。
- 資源應用程式:連接器所連線端點的 Microsoft Entra 應用程式註冊(也就是您的服務或數據源)。
開啟自訂連接器的 Microsoft Entra 支援牽涉到:
- 在連接器所使用的資源應用程式中定義一或多個 範圍 。
- 預先授權 Power Query 用戶端識別碼以使用這些範圍。
- 在連接器定義中設定正確
Resource
和Scopes
值。
本指南假設已在 Microsoft Entra 中註冊新的資源應用程式。 具有現有資源應用程式的開發人員可以跳到 [ 設定範圍 ] 區段。
注意
如需在服務或應用程式中使用 Microsoft Entra 的詳細資訊,請移至其中 一個快速入門指南。
註冊資源應用程式
您的數據來源或 API 端點會使用此資源應用程式來建立服務與 Microsoft 身分識別平台 之間的信任。
請遵循下列步驟來註冊新的資源應用程式:
- 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心。
- 流覽至 [身分>識別應用程式> 應用程式註冊],然後選取 [新增註冊]。
- 輸入應用程式的顯示 名稱 。
- 針對 [支持的帳戶類型],只有在您的端點只能從組織內部存取時,才選取 [此組織目錄中的帳戶]。 選取 任何組織目錄中 的 [帳戶],以取得可公開存取的多租用戶服務。
- 選取註冊。
您不需要指定 重新導向 URI 值。
註冊完成時,會顯示應用程式的 [ 概觀 ] 頁面。 記下 目錄 (租使用者) 識別碼 和 應用程式 (用戶端) 識別碼 ,因為它們將用於您服務的原始程式碼中。 請遵循 Microsoft 身分識別平台 程式代碼範例中的其中一個指南,此範例類似於您的服務環境和架構,以判斷如何設定及使用新的應用程式。
設定應用程式識別碼 URI
您必須先為資源應用程式設定應用程式識別碼 URI,才能設定端點的範圍。 連接器中記錄的Aad
欄位將會使用此Resource
識別碼。 值會設定為服務的根 URL。 您也可以使用 Microsoft Entra 所產生的預設值 - api://{clientId}
其中 {clientId}
是資源應用程式的用戶端識別碼。
- 移至資源應用程式的 [概觀 ] 頁面。
- 在中央畫面的 [基本資訊] 底下,選取 [新增應用程式標識符 URI]。
- 輸入 URI,或根據您的應用程式識別碼接受預設值。
- 選取 [儲存並繼續] 。
本指南中的範例假設您使用的是預設的應用程式識別碼 URI 格式(例如 - api://44994a60-7f50-4eca-86b2-5d44f873f93f
)。
設定範圍
範圍可用來定義許可權或功能,以存取您服務中的 API 或數據。 支援的範圍清單是服務特定的。 您想要判斷連接器所需的最小範圍集合。 您必須為 Power Query 用戶端識別碼預先授權至少一個範圍。
如果您的資源應用程式已定義範圍,您可以跳到 下一個步驟。
如果您的服務未使用範圍型許可權,您仍然可以定義連接器所使用的單一範圍。 您未來可以在服務程式代碼中使用此範圍。
在此範例中,您會定義名為 Data.Read 的單一範圍。
- 移至資源應用程式的 [概觀 ] 頁面。
- 在 [管理] 底下,選取 [公開 API > 新增範圍]。
- 針對 [範圍名稱],輸入 Data.Read。
- 針對 神秘 可以同意,請選取 [管理員 和使用者] 選項。
- 填寫其餘的顯示名稱和描述方塊。
- 確定 [狀態 ] 設定為 [已啟用]。
- 選取新增範圍。
預先授權 Power Query 用戶端應用程式
Power Query 連接器使用兩個不同的 Microsoft Entra 用戶端識別碼。 預先授權這些用戶端標識碼的範圍可簡化連線體驗。
用戶端識別碼 | 應用程式名稱 | 使用者 |
---|---|---|
a672d62c-fc7b-4e81-a576-e60dc46e951d | Power Query for Excel | 桌面環境 |
b52893c8-bc2e-47fc-918b-77022b299bbc | Power BI 數據重新整理 | 服務環境 |
若要預先授權 Power Query 用戶端識別碼:
- 移至資源應用程式的 [概觀 ] 頁面。
- 在 [管理] 底下,選取 [公開 API]。
- 選取新增用戶端應用程式。
- 輸入其中一個 Power Query 用戶端識別碼。
- 選取適當的 授權範圍。
- 選取新增應用程式。
- 針對每個 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 用戶端識別碼 ,以避免此問題。