如何不升级至高级计划,从消耗计划Azure函数访问VNET内的Azure KV?
解决方案:无需升级至高级计划即可实现访问
可以在不升级函数计划的前提下解决该问题,核心是通过区域虚拟网络集成+专用端点让消耗计划函数接入虚拟网络,从而访问禁用公共访问的Azure密钥保管库(AKV),具体步骤如下:
1. 为消耗计划函数启用区域虚拟网络集成
消耗计划Azure函数支持区域虚拟网络集成功能,可让函数应用接入指定虚拟网络,获得访问VNET内资源的能力:
- 登录Azure门户,进入目标函数应用的「网络」设置页,选择「虚拟网络集成」
- 点击「添加集成」,选择AKV所在的虚拟网络及对应的子网(需确保子网未被其他服务占用,且有足够可用IP地址)
- 完成配置后,函数应用的出站流量会通过该VNET传输
2. 为Azure密钥保管库配置专用端点
为AKV创建专用端点,确保其仅接收来自VNET内部的流量:
- 进入AKV的「网络」设置页,切换至「专用端点连接」标签
- 点击「添加」,选择与函数集成的同一虚拟网络及子网,创建专用端点
- 等待专用端点部署完成后,AKV的网络规则会自动限制仅允许VNET内部及专用端点的访问(无需修改原公共访问禁用的配置)
3. 验证权限与网络连通性
- 确认函数的系统分配托管标识已被授予AKV的密钥保管库机密用户(或您已配置的「密钥保管库管理员」)RBAC角色,确保拥有读取机密的权限
- 测试函数获取机密的逻辑,此时流量会通过VNET内的专用端点传输,不会触发公共访问的网络限制
关键注意事项
- 函数应用与目标VNET必须处于同一Azure区域,区域虚拟网络集成不支持跨区域场景
- 用于集成的子网需为标准SKU虚拟网络的子网,不能是基本SKU
- 若AKV与函数不在同一VNET,需先配置VNET对等连接,再执行上述步骤
内容的提问来源于stack exchange,提问作者Rorepio
相关产品推荐
相关产品推荐

