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

Azure自动化账户禁用公网访问后公网API仍可访问的问题咨询

解决Azure自动化账户禁用公网访问后ARM作业API仍可公网访问的问题

核心原因

你遇到的问题是因为Azure自动化账户的公网访问设置仅管控其数据平面端点(比如Runbook执行、资产访问等),而你提到的PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobName}?api-version=2019-06-01 API属于Azure Resource Manager(ARM)控制平面,这个平面的访问不受自动化账户自身的公网禁用设置约束。


1. 如何避免这种公网访问?

  • Azure Policy限制:创建自定义Policy规则,拒绝所有来自公网IP范围的Microsoft.Automation/automationAccounts/jobs/write操作,仅允许来自你的私有网络IP范围或指定信任IP的请求。
  • Azure AD条件访问:针对调用ARM API的用户或服务主体配置条件访问策略,要求请求必须来自信任的网络位置(比如你的企业内网、Azure虚拟网络),否则拒绝访问。
  • ARM私有链路(可选):如果需要完全隔离ARM API的公网访问,可配置Azure Private Link for ARM,让所有ARM请求仅通过私有网络传输,但这个配置复杂度较高,适合严格隔离的场景。

2. 你遗漏的关键配置

  • 混淆了**控制平面(ARM)和数据平面(自动化账户自身)**的网络隔离边界:自动化账户的"公网访问禁用"只作用于其专属的数据平面端点,不影响ARM控制平面的API访问。
  • 未针对ARM控制平面的特定操作(作业创建)添加访问限制,默认情况下ARM API允许所有通过身份验证的公网请求。

3. 正确的端到端配置流程

  1. 完成自动化账户的基础隔离:
    • 为自动化账户配置私有端点,关联到你的虚拟网络
    • 在自动化账户的"网络"设置中禁用公网访问
  2. 添加ARM控制平面的访问限制:
    • 方案一(推荐):Azure Policy
      • 创建Policy定义,目标操作设为Microsoft.Automation/automationAccounts/jobs/write
      • 设置规则为:当请求的源IP不在你的私有网络IP范围/信任IP列表时,拒绝操作
      • 将Policy分配到包含目标自动化账户的订阅或资源组
    • 方案二:Azure AD条件访问
      • 创建条件访问策略,目标应用选择"Microsoft Azure管理"
      • 添加"位置"条件,仅允许来自信任网络的访问
      • 为需要调用该API的用户/服务主体分配此策略
  3. 验证配置:
    • 用公网环境的客户端尝试调用该作业创建API,应该收到拒绝响应
    • 用私有网络内的客户端(通过私有端点连接)执行作业创建操作,确认可以正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:55:19