【Azure API 管理】API Management service (APIM) 如何实现禁止外网访问

简介: 【Azure API 管理】API Management service (APIM) 如何实现禁止外网访问

问题描述

API Management service 设置禁止外网访问,请求通过外网(Internet)将无法解析到APIM的网关地址,只能通过APIM所集成的内网(Virtual Network)来访问?

 

问题解答

API Management Service有可以将整个APIM都保护中内部网络访问的功能,也可以针对某些敏感数据的API进行特殊设定,通过访问策略来实现特定IP地址的访问。

 

方式一:把APIM整个服务集成在内部虚拟网络中

可以将 API Management service 到 Azure 虚拟网络 (Vnet) 内部,以便它可以访问该网络中的后端服务。

  • 外部:可以通过外部负载均衡器从公共 Internet 访问 API 管理网关和开发人员门户。 网关可以访问虚拟网络中的资源。
  • 内部:只能通过内部负载均衡器从虚拟网络内部访问 API 管理网关和开发人员门户。 网关可以访问虚拟网络中的资源。

 

在门户上配置根据页面提示一步一步完成,非常容易上手,只是这个过程耗时较长(45分钟左右)。

注意:要进行验证是否配置成功,需要在同一虚拟网络(VNET)中创建虚拟机(VM),访问APIM的开发者门户或APIM中API的完整URL进行验证。

 

 

方式二:设置APIM访问限制策略 --  ip-filter 限制调用方IP

ip-filter 策略筛选(允许/拒绝)来自特定 IP 地址和/或地址范围的调用。(官网介绍:https://docs.azure.cn/zh-cn/api-management/api-management-access-restriction-policies#restrict-caller-ips

设置语句

<policies>
    <inbound>
        <base />
       <ip-filter action="allow | forbid">
            <address>address</address>
            <address-range from="address" to="address" />
        </ip-filter>
    </inbound>
    <backend>
        <base />
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>

在API的Design页面,也可以通过界面方式操作:

 

 

参考资料

在内部模式下使用 Azure API 管理连接到虚拟网络:https://docs.azure.cn/zh-cn/api-management/api-management-using-with-internal-vnet?tabs=stv2

API 管理访问限制策略:https://docs.azure.cn/zh-cn/api-management/api-management-access-restriction-policies

  1. 检查 HTTP 标头 - 强制必须存在和/或强制采用 HTTP 标头的值。
  2. 按订阅限制调用速率 - 根据订阅限制调用速率,避免 API 使用量暴增。
  3. 按密钥限制调用速率 - 根据密钥限制调用速率,避免 API 使用量暴增。
  4. 限制调用方 IP - 筛选(允许/拒绝)来自特定 IP 地址和/或地址范围的调用。
  5. 按订阅设置使用量配额 - 允许根据订阅强制实施可续订或有生存期的调用量和/或带宽配额。
  6. 按密钥设置使用量配额 - 允许根据密钥强制消耗可续订或有生存期的调用量和/或带宽配额。
  7. 验证 JWT - 强制从指定 HTTP 标头或指定查询参数提取的 JWT 必须存在且有效。
  8. 验证客户端证书 - 强制客户端提供给 API 管理实例的证书与指定的验证规则和声明相匹配。

 

 

 

 

 

[END]

相关文章
|
20天前
|
安全 API 网络安全
【Azure API 管理】APIM不能连接到 App Service (APIM cannot connect to APP service)
【Azure API 管理】APIM不能连接到 App Service (APIM cannot connect to APP service)
|
20天前
|
API 开发工具 网络架构
【Azure Developer】如何通过Azure Portal快速获取到对应操作的API并转换为Python代码
【Azure Developer】如何通过Azure Portal快速获取到对应操作的API并转换为Python代码
|
20天前
|
API
【API Management】使用 APIM Inbound Policy 来修改Content‐Type Header的值
【API Management】使用 APIM Inbound Policy 来修改Content‐Type Header的值
【API Management】使用 APIM Inbound Policy 来修改Content‐Type Header的值
|
16天前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之海外是否可以访问人物动漫化的api版本
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
29 0
|
20天前
|
存储 Kubernetes API
【APIM】Azure API Management Self-Host Gateway是否可以把请求的日志发送到Application Insights呢?让它和使用Azure上托管的 Gateway一样呢?
【APIM】Azure API Management Self-Host Gateway是否可以把请求的日志发送到Application Insights呢?让它和使用Azure上托管的 Gateway一样呢?
|
20天前
|
API 网络架构 C++
【Azure Key Vault】使用REST API调用Azure Key Vault Secret的示例步骤
【Azure Key Vault】使用REST API调用Azure Key Vault Secret的示例步骤
|
30天前
|
机器人 API Python
智能对话机器人(通义版)会话接口API使用Quick Start
本文主要演示了如何使用python脚本快速调用智能对话机器人API接口,在参数获取的部分给出了具体的获取位置截图,这部分容易出错,第一次使用务必仔细参考接入参数获取的位置。
|
15天前
|
存储 JSON API
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
——在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦! 淘宝API接口(如淘宝开放平台提供的API)允许开发者获取淘宝商品的各种信息,包括商品详情。然而,需要注意的是,直接访问淘宝的商品数据API通常需要商家身份或开发者权限,并且需要遵循淘宝的API使用协议。
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
|
25天前
|
SQL 存储 数据处理
|
28天前
|
XML JSON API
RESTful API设计最佳实践:构建高效、可扩展的接口
【8月更文挑战第17天】RESTful API设计是一个涉及多方面因素的复杂过程。通过遵循上述最佳实践,开发者可以构建出更加高效、可扩展、易于维护的API。然而,值得注意的是,最佳实践并非一成不变,随着技术的发展和业务需求的变化,可能需要不断调整和优化API设计。因此,保持对新技术和最佳实践的关注,是成为一名优秀API设计师的关键。