具有 Microsoft Entra ID 的 HTTP
使用 HTTP 连接器从各种 Web 服务提取资源,通过 Microsoft Entra ID 或本地 Web 服务进行身份验证。
此连接器在以下产品和区域中可用:
| 服务 | Class | 区域 |
|---|---|---|
| Copilot Studio | 高级 | 所有 Power Automate 区域 |
| 逻辑应用程序 | 标准 | 除以下各项外的所有 逻辑应用区域 : - 美国国防部(DoD) |
| Power Apps | 高级 | 所有 Power Apps 区域 |
| Power Automate | 高级 | 所有 Power Automate 区域 |
| 联系人 | |
|---|---|
| Name | Microsoft |
| URL |
Microsoft LogicApps 支持 Microsoft Power Automate 支持 Microsoft Power Apps 支持 |
| 连接器元数据 | |
|---|---|
| 发布者 | Microsoft |
已知问题和限制
要使“HTTP 与 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 Single Sign-On的 Entra ID 联合身份验证服务)。 解决方法是,请使用“HTTP”连接器。
在国家云环境中使用此连接器时,资源 必须是 其国家云终结点等效项。 尝试尝试从大多数国家/地区云环境连接到公有云(https://graph.microsoft.comhttps://bing.com例如),失败并出现预授权错误。
- GCC 和 Fairfax 环境可以继续使用公有云终结点(https://graph.microsoft.com例如)。
- GCC-High 资源示例: https://graph.microsoft.us.
- 中国资源示例: https://microsoftgraph.chinacloudapi.cn
如果启用了本地数据网关连接,则不支持使用 Cookie 授权请求标头。
不支持基于响应位置标头的异步模式。 请改用 Azure 资源管理器 连接器(如果适用)。
此连接器中不提供“获取文件内容”作,因为它与“调用 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 与另一个用户共享,系统会提示其他用户显式创建新连接。
| Name | 类型 | Description | 必选 |
|---|---|---|---|
| Microsoft Entra ID 资源 URI (应用程序 ID URI) | 字符串 | Microsoft Entra ID 中用于标识目标资源的标识符。 对于 SharePoint Online 和 OneDrive for Business,请使用 https://{contoso}.sharepoint.com。 通常,它是资源的基 URL。 | True |
| 基本资源 URL | 字符串 | 以要连接到的 GUID 形式指定 HTTP 资源或应用程序(客户端)ID 的基 URL。 | True |
| 用户名 | securestring | 用户名凭据 | |
| 密码 | securestring | 密码凭据 | |
| 身份验证类型 | 字符串 | 用于连接到本地 HTTP 资源的身份验证类型 | |
| Gateway | gatewaySetting | 本地网关(请参阅 https://docs.microsoft.com/data-integration/gateway 更多详细信息) |
限制
| 名称 | 调用 | 续订期 |
|---|---|---|
| 每个连接的 API 调用数 | 100 | 60 秒 |
操作
| 调用 HTTP 请求 |
调用 HTTP 终结点。 |
调用 HTTP 请求
调用 HTTP 终结点。
参数
| 名称 | 密钥 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
方法
|
method | True | string |
已知 HTTP 谓词之一:GET、DELETE、PATCH、POST、PUT。 |
|
请求的 URL
|
url | True | string |
资源的完整或相对 URL。 如果它是完整的 URL,则它必须与连接中设置的基本资源 URL 匹配。 |
|
Headers
|
headers | object |
请求标头。 |
|
|
请求正文
|
body | string |
当方法需要请求时请求的正文。 |
返回
响应的内容。
- Body
- string