问题描述

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]

【Azure API 管理】API Management service (APIM) 如何实现禁止外网访问的更多相关文章

  1. 阿里云API网关(11)外网访问 阿里云API网关内定义的API步骤:

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

  2. Arcgis api for javascript学习笔记 - 不改变默认端口(6080)情况下,外网访问Arcgis Server 发布的接口

    Arcgis Server发布的地图服务地址默认端口号是6080,假设本机上只对80端口做了外网映射,在IIS中部署了一个网站绑定了80端口,那么网站中某个页面通过arcgis api for js ...

  3. 运行一个nodejs服务,先发布为deployment,然后创建service,让集群外可以访问

    问题来源 海口-老男人 17:42:43 就是我要运行一个nodejs服务,先发布为deployment,然后创建service,让集群外可以访问 旧报纸 17:43:35 也就是 你的需求为 一个a ...

  4. windows azure中国 里面建立一个虚拟机,与虚拟机建立通信 里面部署IIS,外网访问

    在windows azure中国 里面建立一个虚拟机,里面部署IIS,外网不能访问么? 外网访问的地址是给的那个DNS地址 ,比如我的是 DNS 名称 urbanairserver.cloudapp. ...

  5. [原]外网访问用azure虚拟机搭建的网站

    1.Ubuntu+Apache+PHP的环境搭建(此处省去了mysql的步骤) 在azure上搭建上述的开发环境和在本地PC搭建是一样的步骤,具体介绍请参看这里. 2.从外网访问 注意,这一步的前提是 ...

  6. 外网访问用azure虚拟机搭建的网站

    1.Ubuntu+Apache+PHP的环境搭建(此处省去了mysql的步骤) 在azure上搭建上述的开发环境和在本地PC搭建是一样的步骤,具体介绍请参看这里. 2.从外网访问 注意,这一步的前提是 ...

  7. 【Azure API 管理】为调用APIM的请求启用Trace -- 调试APIM Policy的利器

    问题描述 在APIM中,通过门户上的 Test 功能,可以非常容易的查看请求的Trace信息,帮助调试 API 对各种Policy,在Inbound,Backend, Outbound部分的耗时问题, ...

  8. 怎样从外网访问内网RESTful API?

    本地部署了RESTful API,只能在局域网内访问,怎样从外网也能访问到本地的RESTful API呢?本文将介绍具体的实现步骤. 准备工作 部署并启动RESTful API服务端 默认部署的RES ...

  9. 微信公众号开发系统入门教程(公众号注册、开发环境搭建、access_token管理、Demo实现、natapp外网穿透)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a1786223749/article/ ...

  10. 如何通过Azure Service Management REST API管理Azure服务

    通过本文你将了解: 什么是Azure Service Management REST API 如何获取微软Azure 订阅号 如何获取Azure管理证书 如何调用Azure Service Manag ...

随机推荐

  1. Docker容器基础入门认知-Cgroup

    在上一篇说完 namespace 给容器技术提供了隔离之后,我们在介绍一下容器的"限制"问题 也许你会好奇,我们不是已经通过 Linux Namespace 给容器创建了一个容器了 ...

  2. 【解决了一个小问题】es query返回数据中, int64类型精度丢失的问题

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 首先定义了一个简单的结构体来接收es query返回的数据 ...

  3. 递归锁和死锁(Python)

    一.递归锁 # Lock :互斥锁 效率高 # RLock :递归(recursion)锁 效率相对低 在同一个线程中可以被acquire多次,如果想要释放锁,acquire多少次就要release多 ...

  4. 给textarea添加行号,textarea使用代码风格的一些思考

    背景 项目有个需求是 在textarea中编辑脚本并显示为代码风格样式,显示行号: textarea显示行号 思路: 1.监听textarea内容变化,执行一个change函数,解析内容里面有多少个换 ...

  5. M2版Mac mini被京东杀到史低2888元!比苹果官网低1600

    苹果跳水王M2版Mac mini又降价了. 根据京东官方百亿补贴频道显示,Mac mini 8+256GB入门版只要2888元了,比前不久的拼多多2959还低,刷新了这款电脑的史上最低价. 对比官网原 ...

  6. cs50ai3

    cs50ai3-------Optimization cs50ai3-------Optimization 基础知识 课后题目 代码实践 学习链接 总结 基础知识 这节课主要讲了一些优化问题对应的算法 ...

  7. .NET Core开发实战(第24课:文件提供程序:让你可以将文件放在任何地方)--学习笔记

    24 | 文件提供程序:让你可以将文件放在任何地方 文件提供程序核心类型: 1.IFileProvider 2.IFileInfo 3.IDirectoryContents IFileProvider ...

  8. Hadoop相关面试题

    1.简答说一下hadoop的map-reduce编程模型 首先map task会从本地文件系统读取数据,转换成key-value形式的键值对集合 使用的是hadoop内置的数据类型,比如longwri ...

  9. 点亮.NET的文字云艺术之光——Sdcb.WordCloud 2.0

    点亮.NET的文字云艺术之光--Sdcb.WordCloud 2.0 作为一名.NET开发者,你是否渴望拥有一个强大且易用的库,用以在你的应用程序中创造美轮美奂的文字云?我在经过一轮农历新年前的码力全 ...

  10. Pandas resample数据重采样

    随机抽样,是统计学中常用的一种方法,它可以帮助我们从大量的数据中快速地构建出一组数据分析模型.在 Pandas 中,如果想要对数据集进行随机抽样,需要使用 sample() 函数. sample() ...