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

禁用存储公网访问时Azure存储密钥轮换私网部署问题

存储账户禁用公网访问场景下落地Azure存储密钥自动轮换架构方案

问题描述

  • 落地目标:在所属租户内部署Azure存储密钥自动轮换架构,核心逻辑为:将存储账户访问密钥存入Key Vault并配置过期时间,密钥临近过期时,Event Grid筛选对应事件发送至Function App,由Function App完成密钥轮换后将新密钥重新存入Key Vault。
  • 合规约束:租户策略强制要求所有存储账户不得启用公网访问,包括承载Function App日志、触发器的关联存储账户。
  • 已完成配置:
    • 将Function App关联存储账户的网络设置从Enabled from all networks调整为Enabled from selected virtual networks and IP addresses
    • 创建独立VNet,为存储账户创建私有终结点
    • 将Function App托管在Premium应用服务计划中,完成VNet集成配置
    • 在存储账户网络配置的资源实例规则中添加Microsoft.EventGrid/systemTopics
    • 参考Azure Functions私有存储配置最佳实践,为Function App添加以下应用参数:
      WEBSITE_VNET_ROUTE_ALL=1
      WEBSITE_CONTENTOVERVNET=1
      WEBSITE_DNS_SERVER=168.63.129.16
      
  • 故障现象:配置完成后Event Grid无法将事件成功投递至Function App,初步判断为Event Grid系统主题无法访问Function App端点,无法定位通信链路故障根因,需要在所有存储账户不启用公网访问的前提下完成架构落地。

根因说明

Event Grid到Azure Functions的事件投递默认走公网HTTPS通道,直接调用Function App的公网HTTP触发端点,不会自动路由到VNet内部链路。
已完成的配置仅覆盖了「Function App访问关联存储账户」「Event Grid访问存储账户」两条链路,未对「Event Grid投递事件到Function App」这条核心链路做私网适配,导致Event Grid发出的公网投递请求被网络规则拦截,投递失败。

落地步骤

按以下顺序配置即可满足全链路私网访问要求,无需开放任何存储账户公网权限:

  • 锁定Function App公网访问入口
    • 进入Function App网络配置的访问限制页,将默认公网访问规则设置为拒绝,不要添加任何公网IP或服务标签允许规则。
  • 为Event Grid系统主题配置私有终结点
    • 进入对应Event Grid系统主题的网络配置页,新建私有终结点,关联到已创建的VNet,选择与Function App集成子网互通的子网,目标子资源选择topic。配置完成后系统主题的事件投递会自动优先走VNet私网通道,不再走公网。
  • 为Function App配置私有终结点
    • 进入Function App的私有终结点配置页,新建私有终结点关联到同VNet下,目标子资源选择sites。配置完成后VNet内部资源(包括同VNet下配置了私有终结点的Event Grid系统主题)可直接通过私网访问Function触发端点,无需经过公网。
  • 补全全链路服务的网络规则
    • 为Key Vault配置同VNet下的私有终结点,禁用公网访问,将Function App集成的子网加入Key Vault、存储账户的网络允许列表。
    • 在存储账户、Key Vault的防火墙配置页,勾选「允许受信任的Microsoft服务访问此账户」,兜底覆盖跨服务控制面操作的访问需求,避免因私有终结点路由不全导致的操作失败。
  • 校验DNS解析与链路连通性
    • 在VNet中绑定Azure专用DNS区域,确认privatelink.azurewebsites.net、privatelink.eventgrid.azure.net、privatelink.vaultcore.azure.net、privatelink.blob.core.windows.net几个专用DNS区域已正确关联对应私有终结点的A记录,避免私网域名解析失败。
    • 手动触发一次密钥轮换测试,在Event Grid系统主题的监控页查看投递成功指标,同时核对Function App执行日志,确认事件正常触发、密钥轮换成功、新密钥正常写入Key Vault即可。

注意:不要通过在Function访问限制中添加Event Grid出站IP段的方式绕过私网要求,该方案依赖公网链路,不符合零公网访问的合规要求,且Event Grid出站IP会动态调整,存在长期运行稳定性风险。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 09:21:35