使用 Microsoft Entra ID 的 HTTP
使用 HTTP 連接器從各種 Web 服務擷取資源、由 Microsoft Entra ID 驗證,或從內部部署 Web 服務擷取資源。
此連接器適用於以下產品和區域:
| 服務 | Class | Regions |
|---|---|---|
| 副駕駛工作室 | 進階 | 所有 Power Automate 區域 |
| 邏輯應用程式 | 標準 | 所有 Logic Apps 區域, 但下列區域除外: - 美國國防部 (DoD) |
| Power Apps | 進階 | 所有 Power Apps 區域 |
| Power Automate(自動化服務) | 進階 | 所有 Power Automate 區域 |
| 連絡人 | |
|---|---|
| 名稱 | Microsoft |
| URL |
Microsoft LogicApps 支援 Microsoft Power Automate 支援 Microsoft Power Apps 支援 |
| 連接器中繼資料 | |
|---|---|
| Publisher | Microsoft |
已知問題和限制
若要讓「使用 Microsoft Entra ID」連接器成功從其他服務擷取資料,連接器所使用的應用程式必須獲得所需範圍的存取權。 如需如何授與應用程式所需存取權的詳細資訊,請參閱授權 應用程式代表登入使用者執行動作。 如果未授與必要的存取權,當您嘗試建立連線時,可能會收到下列其中一個錯誤:
Consent Required: To enable the HTTP With Microsoft Entra ID connector to access resources on behalf of a signed-in user, grant consent to this application.
如果已授與範圍 (許可權),但未包含所有必要的範圍,則建立連線將會成功,但您會在執行階段遇到禁止 (403) 錯誤。 錯誤詳細資料可能包含其他資訊,例如:
"code": "Authorization_RequestDenied" "message": "Insufficient privileges to complete the operation."聯結器會將要求內文編碼為base64編碼,因此應該用來呼叫預期此格式要求內文的後端服務。 您無法使用此連接器來呼叫預期原始二進位格式要求本文的後端服務。
連接器是以多租用戶應用程式註冊為基礎。 在使用者登入之前,應用程式無法判斷使用者來自哪個租用戶。 因此,我們只支援在使用者的預設租用戶 ('common') 下指定資源。
不支援以 ADFS SSO (Microsoft Entra ID Federation Services for Single Sign-On) 為基礎的資源。 因應措施是,請使用「HTTP」連接器。
在國家雲端環境中使用此連接器時,資源 必須是 其國家雲端端點對等。 嘗試從大多數國家雲端環境連線到公有雲(https://graph.microsoft.com例如) https://bing.com 將 失敗 ,並出現預先授權錯誤。
- GCC 和 Fairfax 環境可以繼續使用公有雲端點 (https://graph.microsoft.com例如)。
- GCC-High 資源範例: https://graph.microsoft.us。
- 中國資源範例: https://microsoftgraph.chinacloudapi.cn。
在內部部署資料閘道啟用連線的情況下,不支援使用 Cookie 授權要求標頭。
不支援以回應 Location 標頭為基礎的非同步模式。 如果適用,請改用 Azure Resource Manager 連接器。
此連接器中無法使用「取得檔案內容」動作,因為它與「叫用 HTTP」動作非常相似。 兩者之間的唯一區別是前一個動作對響應進行編碼。 因此,若要取得 base64 編碼的回應,您只需將回應從「叫用 HTTP」動作轉移到可用的編碼動作之一即可。
移除或新增預先授權最多可能需要 1 小時,才能反映更新之前現有的連線。 但是,新連線應立即反映更新的授權。
如果在建立連線時遇到問題,或收到有關遺漏參數值的錯誤,請嘗試使用 Power Automate 的舊設計工具而不是新設計工具建立連線。
授權連接器代表登入使用者執行動作
身為具有全域系統管理員角色的使用者,您必須建立 oAuth2PermissionGrants ,以核准所需服務的必要許可權 (範圍)。
例如,如果您使用 Microsoft Graph (https://graph.microsoft.com) 並需要讀取行事曆資訊,您可以遵循 Graph 檔 來識別所需的許可權 (Calendar.Read)。 藉由授與應用程式 (連接器所使用) Calendar.Read 範圍,它會允許應用程式代表使用者從服務存取此資料。 需要注意的一件重要事情是,應用程序可以訪問的數據仍然僅限於用戶在服務中可以訪問的數據。 無法使用 Azure 入口網站 來授與此應用程式的同意。 基於這個理由,Microsoft 已建立 PowerShell 腳本,以簡化將同意授與 HTTP 與 Microsoft Entra ID 連接器所使用的應用程式。
這很重要
必須安裝 PowerShell 第 7 版或更新版本,才能執行此腳本。
從 這裡 下載所需的 PowerShell 腳本,或建立名為「ManagePermissionGrant.ps1」的腳本,參考 此處提到的步驟。 此腳本主要供參考,您可以根據自己的使用案例修改腳本。
右鍵單擊下載的 ManagePermissionGrant.ps1 文件,然後單擊屬性。
按一下 [解除封鎖 ] 核取方塊,然後按一下 [確定]。
如果您未勾選 [解除封鎖] 核取方塊,您將收到錯誤,指出無法載入指令碼,因為它未進行數位簽署。
開啟 PowerShell 命令視窗。
將路徑變更為您下載指令碼的位置。
鍵入以下命令並按 Enter:
.\ ManagePermissionGrant.ps1
系統會提示您選擇要向 Azure 全域進行驗證 (建議) 或從清單中選取 (進階)。 如果您未連線到 US Gov、US Gov DoD、中國或德國的訂閱,請按 Enter。
如果您尚未驗證,系統可能會提示您在新的瀏覽器視窗中向 Microsoft 身分識別平台進行驗證。 以具有全域管理員角色的使用者身分進行驗證。
若要同意某些最常用的服務,例如 Microsoft Graph 或 SharePoint,請按 Enter。 如果您需要同意的服務不在常用應用程式清單中,請使用選項 A。
將出現一個對話框。 選取您要同意允許連接器代表使用者執行動作的應用程式。 您可以使用頂端的文字方塊來篩選結果。
按一下 [確定]。
選取您要同意的一或多個範圍 (權限),然後按一下 [ 確定]。 在選取列時按住 CTRL 鍵,可以選取多個範圍。
在 PowerShell 視窗中,系統會提示您選擇同意類型。 您可以選擇是否允許應用程式代表任何登入使用者執行動作,或是否要將同意限制為特定使用者。 如果您想要為所有使用者提供同意,請按 Enter 鍵。 如果您只想為特定使用者提供同意,請輸入 N ,然後按 Enter。 如果您選擇同意特定使用者,系統會提示您選取該使用者。
如果所選資源已存在任何範圍的同意,系統會提示您選擇是否要先刪除現有的授權。 如果您想要刪除現有的授權,請輸入 Y 並按 Enter。 如果您想要保留現有的授權,請按 Enter。
您選取範圍的摘要會顯示在 PowerShell 視窗中。 如果您想要繼續授與選取的範圍,請輸入 Y ,然後按 Enter。
如果指令碼可以成功授與同意,您會看到指令碼執行已完成的訊息。
正在建立連線
連接器支援下列驗證類型:
| 預設值 | 建立連線的參數。 | 所有區域 | 不可共享 |
預設
適用:所有地區
建立連線的參數。
這不是可共用的連線。 如果 Power App 與其他使用者共用,系統會明確提示其他使用者建立新連線。
| 名稱 | 類型 | Description | 為必填項目 |
|---|---|---|---|
| Microsoft Entra ID 資源 URI (應用程式識別碼 URI) | 字串 | Microsoft Entra ID 中用來識別目標資源的識別碼。 針對 SharePoint Online 和商務用 OneDrive,請使用 https://{contoso}.sharepoint.com。 通常,它是資源的基底 URL。 | 對 |
| 基本資源 URL | 字串 | 以您要連線的 GUID 形式指定 HTTP 資源或應用程式 (用戶端) 識別碼的基底 URL。 | 對 |
| 用戶名稱 | securestring | 使用者名稱認證 | |
| 密碼 | securestring | 密碼認證 | |
| 驗證類型 | 字串 | 連線至內部部署 HTTP 資源的驗證類型 | |
| Gateway | 閘道設定 | 內部部署閘道 (請參閱更多 https://docs.microsoft.com/data-integration/gateway 詳細資料 |
節流限制
| 名稱 | 呼叫 | 續約期間 |
|---|---|---|
| 每個連線的 API 呼叫 | 100 | 60 秒 |
動作
| 叫用 HTTP 要求 |
叫用 HTTP 端點。 |
叫用 HTTP 要求
叫用 HTTP 端點。
參數
| 名稱 | 機碼 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
方法
|
method | True | string |
已知的 HTTP 動詞之一:GET、DELETE、PATCH、POST、PUT。 |
|
要求的 URL
|
url | True | string |
資源的完整或相對 URL。 如果是完整 URL,則必須符合連線中設定的基本資源 URL。 |
|
Headers
|
headers | object |
要求標頭。 |
|
|
要求內文
|
body | string |
方法需要時的要求內文。 |
傳回
回應的內容。
- 身體
- string