如何通过API Connection认证Logic App与Dynamics F&O的连接
解决方案:通过Logic App API Connection使用Service Principal连接Dynamics F&O
针对你的需求,核心思路是把Service Principal的凭证托管在Azure API Connection中,避免直接在Logic App步骤里暴露敏感信息,以下是具体实现步骤:
一、直接使用Dynamics F&O专用API Connection(推荐)
这是最简便的方式,官方连接器原生支持Service Principal认证:
- 登录Azure门户,搜索并进入API Connections服务
- 点击「+ 创建」,搜索
Dynamics 365 for Finance and Operations并选择 - 认证类型选择Service Principal,依次填入:
- 租户ID:你的Azure AD租户ID
- Client ID:Service Principal的客户端ID
- Client Secret:Service Principal的密钥
- Dynamics F&O环境URL:比如
https://your-fo-env.operations.dynamics.com
- 点击「创建」,等待连接测试成功
- 回到Logic App编辑器,添加Dynamics F&O的
Get类操作(如「获取记录」「列出记录」),直接选择刚才创建的API Connection,无需再输入凭证,配置实体名称、筛选条件等参数即可完成数据获取
二、通用HTTP API Connection适配方案(兼容旧版场景)
如果遇到专用连接器无法选择Service Principal的情况,可通过通用HTTP连接+OAuth客户端凭证模式实现:
- 创建通用HTTP API Connection:
- 在API Connections中新建连接,选择
HTTP连接器 - 认证类型选OAuth 2.0 Client Credentials
- 填入租户ID、Client ID、Client Secret
- 令牌端点URL:
https://login.microsoftonline.com/{你的租户ID}/oauth2/v2.0/token - 资源URL:你的Dynamics F&O环境URL(如
https://your-fo-env.operations.dynamics.com) - 保存并测试连接
- 在API Connections中新建连接,选择
- 在Logic App中使用该连接:
- 添加
HTTP动作,选择刚才创建的通用HTTP连接 - 设置请求方法为
GET,URL填写Dynamics F&O的OData实体端点(比如https://your-fo-env.operations.dynamics.com/data/Customers) - 请求头部添加
Accept: application/json,确保返回结构化JSON数据
- 添加
关键注意事项
- 必须确保Service Principal已在Dynamics F&O中完成权限配置:在F&O的「系统管理」模块添加应用用户,关联该Service Principal,并分配对应的数据实体读写角色
- API Connection需与Logic App处于同一Azure区域,避免跨区域访问问题
- 定期轮换Service Principal的Client Secret,并同步更新API Connection中的凭证,保障安全性
内容的提问来源于stack exchange,提问作者Aman
相关产品推荐
相关产品推荐

