能否在Azure API Management中为出站请求配置mTLS?含Power Automate场景
基于Azure APIM实现双向mTLS集成方案(适配Power Automate)
方案可行性确认
完全可行。Azure API Management(APIM)原生支持双向mTLS配置:既可以作为网关验证第三方调用我方API时的客户端证书,也能作为客户端向第三方API提供指定证书完成mTLS握手;同时Power Automate可通过调用APIM暴露的API实现请求转发,完美实现内部流程与mTLS配置的解耦。
具体实现步骤
1. 前置准备
- 证书材料:
- 第三方提供的CA根证书/中间证书(用于验证第三方调用的客户端证书合法性)
- 我方用于调用第三方API的PFX格式客户端证书(需包含证书密码)
- 已创建Azure APIM实例(基础层及以上即可,免费层不支持客户端证书验证功能)
2. 配置APIM验证第三方的mTLS(第三方调用我方API)
- 登录Azure门户,进入目标APIM实例
- 左侧导航栏选择证书,点击
+添加,选择CA证书,上传第三方的CA根/中间证书,完成保存 - 导入/选择需要保护的后端API:
- 进入API菜单,若未导入API,先通过"导入API"功能添加你的后端服务
- 选中目标API,切换到设置标签,找到客户端证书验证区域:
- 勾选「要求客户端证书」
- 在「受信任的CA证书」下拉列表中选择刚上传的第三方CA证书
- 保存设置
- 配置完成后,第三方调用该API时必须携带由指定CA签发的客户端证书,APIM会自动完成验证,仅验证通过的请求会被转发至后端API
3. 配置APIM作为客户端调用第三方API的mTLS
- 回到APIM的证书菜单,点击
+添加,选择客户端证书,上传我方的PFX证书并输入证书密码,完成保存 - 创建指向第三方API的APIM代理API:
- 进入API菜单,点击「+添加API」,选择「HTTP」类型,填写第三方API的基础URL
- 为API添加对应操作(如GET/POST等,匹配第三方API的接口)
- 配置后端mTLS:
- 选中该代理API,切换到后端标签
- 在「TLS/SSL证书验证」区域,勾选「使用客户端证书」
- 在「客户端证书」下拉列表中选择刚上传的我方PFX证书
- 保存设置
- 此后APIM转发请求到第三方API时,会自动携带该客户端证书,满足第三方的mTLS要求
4. Power Automate对接APIM
- 在Power Automate中创建新流,添加HTTP动作
- 配置HTTP动作:
- 方法:匹配目标API的请求方法(如GET/POST)
- URI:填写APIM代理API的访问地址,格式为
https://<你的APIM实例名>.azure-api.net/<API路径> - 请求头:若APIM API启用了订阅密钥验证,需添加
Ocp-Apim-Subscription-Key: <你的APIM订阅密钥>(密钥可在APIM的订阅菜单中获取)
- 测试流即可完成Power Automate通过APIM发起mTLS请求到第三方API
关键注意事项
- APIM层级限制:免费层不支持客户端证书验证及客户端证书出站功能,需使用基础层及以上实例
- 证书有效期:定期检查所有证书的有效期,提前更新避免集成中断
- 证书链完整性:上传的PFX证书需包含完整的证书链(根证书+中间证书),否则可能导致mTLS握手失败
- 测试流程:先通过APIM门户的「测试」控制台验证第三方API调用及证书有效性,再对接Power Automate,排查问题更高效
内容的提问来源于stack exchange,提问作者xbmono
相关产品推荐
相关产品推荐

