You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure ARM模板中用‘仅其他逻辑应用’替代IP范围限制入站IP?

在ARM模板中配置逻辑应用的“仅其他逻辑应用”入站限制

要实现只允许其他逻辑应用调用你的逻辑应用(而非通过IP范围限制),你需要在ARM模板的逻辑应用资源配置里使用allowedCallerApplications属性,替代原本的allowedCallerIpAddresses(或者清空IP限制数组)。这个属性是通过Azure AD应用标识来筛选调用者,而其他逻辑应用的系统分配托管标识本身就是一个Azure AD应用,刚好适配这个场景。

下面分两种常见情况给你具体的配置示例:

1. 允许特定的单个/多个逻辑应用调用

如果你只想让指定的几个逻辑应用能调用当前逻辑应用,先获取目标逻辑应用的系统分配托管标识的Application ID(可以在目标逻辑应用的“标识”页面找到),然后把这个ID添加到allowedCallerApplications数组里:

{
  "type": "Microsoft.Logic/workflows",
  "apiVersion": "2019-05-01",
  "name": "[parameters('logicAppName')]",
  "location": "[parameters('location')]",
  "properties": {
    "state": "Enabled",
    "definition": "[parameters('logicAppDefinition')]",
    "accessControl": {
      "triggers": {
        // 针对触发器的限制
        "allowedCallerApplications": [
          {
            "applicationId": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // 替换为目标逻辑应用的Application ID
          },
          // 可以添加多个逻辑应用的ID
          {
            "applicationId": "yyyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
          }
        ],
        "allowedCallerIpAddresses": [] // 清空IP限制,只应用应用标识筛选
      },
      "actions": {
        // 针对操作的限制,和触发器配置一致即可
        "allowedCallerApplications": [
          {
            "applicationId": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
          },
          {
            "applicationId": "yyyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
          }
        ],
        "allowedCallerIpAddresses": []
      }
    }
  }
}

2. 允许所有其他逻辑应用调用

如果你想和Azure门户里的“仅其他逻辑应用”选项效果完全一致(允许任何逻辑应用调用),直接用通配符*作为applicationId的值就行,这样所有逻辑应用的系统标识都会被允许:

"accessControl": {
  "triggers": {
    "allowedCallerApplications": [
      {
        "applicationId": "*"
      }
    ],
    "allowedCallerIpAddresses": []
  },
  "actions": {
    "allowedCallerApplications": [
      {
        "applicationId": "*"
      }
    ],
    "allowedCallerIpAddresses": []
  }
}

额外注意事项

  • 一定要把allowedCallerIpAddresses设为空数组,这样就不会触发IP范围的限制,完全基于应用标识来筛选调用者。
  • 如果需要同时启用IP限制和应用标识限制,可以同时配置两个属性,此时调用请求必须同时满足IP在允许列表且应用标识在允许列表才能通过。
  • 目标逻辑应用必须启用了系统分配托管标识(默认是启用的),否则你无法获取它的Application ID来配置到允许列表里。

内容的提问来源于stack exchange,提问作者Daniele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 15:42:46