问题描述 API Management service 设置禁止外网访问,请求通过外网(Internet)将无法解析到APIM的网关地址,只能通过APIM所集成的内网(Virtual Network)来访问?
问题解答 API Management Service有可以将整个APIM都保护中内部网络访问的功能,也可以针对某些敏感数据的API进行特殊设定,通过访问策略来实现特定IP地址的访问。
方式一:把APIM整个服务集成在内部虚拟网络中 可以将 API Management service 到 Azure 虚拟网络 (Vnet) 内部,以便它可以访问该网络中的后端服务。
外部:可以通过外部负载均衡器从公共 Internet 访问 API 管理网关和开发人员门户。 网关可以访问虚拟网络中的资源。 内部:只能通过内部负载均衡器从虚拟网络内部访问 API 管理网关和开发人员门户。 网关可以访问虚拟网络中的资源。 在门户上配置根据页面提示一步一步完成,非常容易上手,只是这个过程耗时较长(45分钟左右)。
No alt text provided for this image
注意:要进行验证是否配置成功,需要在同一虚拟网络(VNET)中创建虚拟机(VM),访问APIM的开发者门户或APIM中API的完整URL进行验证。
方式二:设置APIM访问限制策略 -- ip-filter 限制调用方IP ip-filter 策略筛选(允许/拒绝)来自特定 IP 地址和/或地址范围的调用。(官网介绍:docs.azure.cn/zh-cn/api-m…)
设置语句 **
xml
体验AI代码助手
代码解读
复制代码
address
在API的Design页面,也可以通过界面方式操作:
No alt text provided for this image
参考资料 在内部模式下使用 Azure API 管理连接到虚拟网络: docs.azure.cn/zh-cn/api-m…
API 管理访问限制策略: docs.azure.cn/zh-cn/api-m…
检查 HTTP 标头 - 强制必须存在和/或强制采用 HTTP 标头的值。 按订阅限制调用速率 - 根据订阅限制调用速率,避免 API 使用量暴增。 按密钥限制调用速率 - 根据密钥限制调用速率,避免 API 使用量暴增。 限制调用方 IP - 筛选(允许/拒绝)来自特定 IP 地址和/或地址范围的调用。 按订阅设置使用量配额 - 允许根据订阅强制实施可续订或有生存期的调用量和/或带宽配额。 按密钥设置使用量配额 - 允许根据密钥强制消耗可续订或有生存期的调用量和/或带宽配额。 验证 JWT - 强制从指定 HTTP 标头或指定查询参数提取的 JWT 必须存在且有效。 验证客户端证书 - 强制客户端提供给 API 管理实例的证书与指定的验证规则和声明相匹配。 [END]
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!