【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
- 检查 HTTP 标头 - 强制必须存在和/或强制采用 HTTP 标头的值。
- 按订阅限制调用速率 - 根据订阅限制调用速率,避免 API 使用量暴增。
- 按密钥限制调用速率 - 根据密钥限制调用速率,避免 API 使用量暴增。
- 限制调用方 IP - 筛选(允许/拒绝)来自特定 IP 地址和/或地址范围的调用。
- 按订阅设置使用量配额 - 允许根据订阅强制实施可续订或有生存期的调用量和/或带宽配额。
- 按密钥设置使用量配额 - 允许根据密钥强制消耗可续订或有生存期的调用量和/或带宽配额。
- 验证 JWT - 强制从指定 HTTP 标头或指定查询参数提取的 JWT 必须存在且有效。
- 验证客户端证书 - 强制客户端提供给 API 管理实例的证书与指定的验证规则和声明相匹配。
[END]
【Azure API 管理】API Management service (APIM) 如何实现禁止外网访问的更多相关文章
- 阿里云API网关(11)外网访问 阿里云API网关内定义的API步骤:
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...
- Arcgis api for javascript学习笔记 - 不改变默认端口(6080)情况下,外网访问Arcgis Server 发布的接口
Arcgis Server发布的地图服务地址默认端口号是6080,假设本机上只对80端口做了外网映射,在IIS中部署了一个网站绑定了80端口,那么网站中某个页面通过arcgis api for js ...
- 运行一个nodejs服务,先发布为deployment,然后创建service,让集群外可以访问
问题来源 海口-老男人 17:42:43 就是我要运行一个nodejs服务,先发布为deployment,然后创建service,让集群外可以访问 旧报纸 17:43:35 也就是 你的需求为 一个a ...
- windows azure中国 里面建立一个虚拟机,与虚拟机建立通信 里面部署IIS,外网访问
在windows azure中国 里面建立一个虚拟机,里面部署IIS,外网不能访问么? 外网访问的地址是给的那个DNS地址 ,比如我的是 DNS 名称 urbanairserver.cloudapp. ...
- [原]外网访问用azure虚拟机搭建的网站
1.Ubuntu+Apache+PHP的环境搭建(此处省去了mysql的步骤) 在azure上搭建上述的开发环境和在本地PC搭建是一样的步骤,具体介绍请参看这里. 2.从外网访问 注意,这一步的前提是 ...
- 外网访问用azure虚拟机搭建的网站
1.Ubuntu+Apache+PHP的环境搭建(此处省去了mysql的步骤) 在azure上搭建上述的开发环境和在本地PC搭建是一样的步骤,具体介绍请参看这里. 2.从外网访问 注意,这一步的前提是 ...
- 【Azure API 管理】为调用APIM的请求启用Trace -- 调试APIM Policy的利器
问题描述 在APIM中,通过门户上的 Test 功能,可以非常容易的查看请求的Trace信息,帮助调试 API 对各种Policy,在Inbound,Backend, Outbound部分的耗时问题, ...
- 怎样从外网访问内网RESTful API?
本地部署了RESTful API,只能在局域网内访问,怎样从外网也能访问到本地的RESTful API呢?本文将介绍具体的实现步骤. 准备工作 部署并启动RESTful API服务端 默认部署的RES ...
- 微信公众号开发系统入门教程(公众号注册、开发环境搭建、access_token管理、Demo实现、natapp外网穿透)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a1786223749/article/ ...
- 如何通过Azure Service Management REST API管理Azure服务
通过本文你将了解: 什么是Azure Service Management REST API 如何获取微软Azure 订阅号 如何获取Azure管理证书 如何调用Azure Service Manag ...
随机推荐
- CS231N Assignment1 SVM 笔记
svm.ipynb 为SVM实现一个完全矢量化的损失函数 为其解析梯度实现完全矢量化表达式 使用数值梯度检查实现结果 使用验证集调整学习率和正则化 使用 SGD 优化损失函数 可视化最终学习权重 第一 ...
- ThreadLocal源码解析及实战应用
作者:京东物流 闫鹏勃 1 什么是ThreadLocal? ThreadLocal是一个关于创建线程局部变量的类. 通常情况下,我们创建的变量是可以被任何一个线程访问并修改的.而使用ThreadLoc ...
- TypeScript中typeof的简单介绍
简单介绍typeof 我们都知道js提供了typeof,用来获取基本数据的类型. 实际上,TS也提供了 typeof 操作符. 可以在 [类型上下文]中进行类型查询. 只能够进行变量或者属性查询. 定 ...
- 取消ts校验的注释
常用的有以下注释 单行忽略 // @ts-ignore 忽略全文:如果你使用这样,需要放在ts的最顶部哈. // @ts-nocheck 如下 <script lang="ts&quo ...
- 手写promise完成异常处理和状态只能够修改一次
8.处理 Promise 抛出的异常 <script src="./Promise.js"></script> <script type=" ...
- Unity Editor开发中查找属性的两种写法对比
从2017开始,在editor脚本中查找属性是这样写的 var m_Script = serializedObject.FindProperty("m_Script"); Seri ...
- 4.8 C++ Boost 应用JSON解析库
property_tree 是 Boost 库中的一个头文件库,用于处理和解析基于 XML.Json 或者 INFO 格式的数据. property_tree 可以提供一个轻量级的.灵活的.基于二叉数 ...
- “I/O多路复用”和“异步I/O”的前世今生
曾经的VIP服务在网络的初期,网民很少,服务器完全无压力,那时的技术也没有现在先进,通常用一个线程来全程跟踪处理一个请求.因为这样最简单.其实代码实现大家都知道,就是服务器上有个ServerSocke ...
- Python下的三维建模和可视化
本文介绍基于AnyCAD Rapid Py三维图形平台开发Python的三维应用 1 准备工作 1.1 安装 vc_resit 2022 在Windows下,AnyCAD Rapid SDK依赖Vis ...
- 技嘉水雕II 360水冷散热器评测:稳压340W i9-14900K
一.前言:极简卡扣连锁风扇设计 再多风扇也只需2根线 如今这个年代,DIY主机几乎都会配大量的RGB风扇,然而"光污染"虽然带来了视觉感官享受,在理线方面却非常繁琐. 就拿360水 ...