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

如何配置Azure Function App仅接受Blazor网站和WPF客户端访问

Azure Function API访问控制+VNET数据库访问配置方案

一、核心思路

要实现API仅对Blazor网站和WPF客户端开放,同时能访问VNET后端数据库,得从「调用方身份验证」和「网络隔离」两个维度配合配置,依托Azure原生功能实现安全隔离。

二、限制API的合法调用方

1. Blazor网站的访问配置

如果Blazor部署在Azure App Service上:

  • 将App Service与Function App纳入同一VNET的子网,或通过VNET集成功能让App Service接入Function所在VNET,让Blazor的调用流量走内部网络而非公网。
  • 在Function App的网络设置中,仅允许来自该VNET子网的流量访问,直接关闭公网访问权限(仅开放VNET内访问)。
  • 额外叠加身份验证:给Blazor和Function App配置Azure AD身份验证,Blazor调用API时必须携带AD令牌,Function会验证令牌有效性,确保只有授权的Blazor应用能发起调用。

如果Blazor是托管在Azure Storage的静态网站:

  • 用Azure Front Door/CDN作为中间层,让Blazor的请求先经过Front Door,再在Function App的防火墙规则中仅允许Front Door的IP段访问。同时给Blazor网站添加Azure AD身份验证,仅登录用户能触发API调用。

2. WPF客户端的访问配置

由于WPF运行在客户本地电脑,无法固定IP,优先采用身份验证方式:

  • 方案一:API密钥。给WPF客户端嵌入专属API密钥,Function App启用API密钥验证,代码中检查请求头内的密钥,仅放行携带有效密钥的请求。注意定期轮换密钥,客户端用Windows凭据管理器存储密钥,避免明文暴露。
  • 方案二:Azure AD设备身份。将WPF应用在Azure AD中注册为公共客户端,WPF启动后先向AD获取令牌,调用API时携带该令牌,Function App验证令牌的受众与发行方,确保只有你的WPF应用实例能调用。

若为IP范围固定的企业客户,可补充在Function防火墙中添加允许的IP段,但该方式不适用于分散的个人客户,优先选择身份验证方案。

三、实现API对VNET数据库的访问

  • 给Function App开启区域VNET集成,接入数据库所在的VNET子网,让Function的出站流量走VNET内部网络。
  • 在数据库的网络安全组(NSG)中添加入站规则,仅允许Function所在子网的IP范围访问数据库端口(如SQL Server的1433端口),拒绝其他所有流量。
  • 确保Function App的出站路由配置为走VNET,避免通过公网访问数据库,提升安全性。

四、兜底安全配置

  • 在Function App的网络设置中,直接关闭公网访问,仅允许VNET内流量及通过身份验证的流量进入;或设置防火墙默认拒绝所有流量,仅添加允许Blazor子网、WPF合法流量的规则。
  • 启用Azure Monitor与Application Insights,监控API访问日志,及时发现未授权访问尝试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:15:36