问题描述

昨天的博文中(https://www.cnblogs.com/lulight/p/17099179.html)介绍了使用Python SDK 来获取App Service的访问限制信息,那么如何调用REST API来实现呢?

问题解答

如大家所知,Azure 不管是SDK, 门户UI,或者是PowerShell命令方式对Azure中资源进行操作,都是通过REST API方式处理请求。所以,如果不知道当前操作使用的是一个接口时,最简单的方法是:通过浏览器打开Azure门户,同时开启开发者模式(F12),在Azure门户上执行想执行的操作。然后查看Network Trace。

比如,想知道App Service的Access Restrictions操作是调用的哪一个API,找到点击保存时候,浏览器发出的请求即可找到。如下图中标记的1,2,3处。

在找到对于的API URL后,就可以知道大概的调查方向了。

以上两个接口,就可以实现获取,更新App Service的访问限制信息需求。
PS:  因文档为Global Azure说明文档,所以中国区的 API URL为:https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web?api-version=2022-03-01
 

操作示例步骤为:

获取Web Apps 配置信息(其中包含Access Restrictions)

Request Method:GET
Request URL: https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web?api-version=2022-03-01
Request Authorization:如是临时性操作,可以通过浏览器(开发者模式F12-->Network Trace)获取到请求所携带的Authorization Token(注:这个值过期时间为1个消失)。
Request Body:无
 
示例截图
没有Token的效果图:
Token过期效果图:

仅仅更新Access Restrictions部分

Request Method:PATCH
Request URL: https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web?api-version=2022-03-01
Request Authorization:如是临时性操作,可以通过浏览器(开发者模式F12-->Network Trace)获取到请求所携带的Authorization Token(注:这个值过期时间为1个消失)。
Request Body:
{
"properties": {
"ipSecurityRestrictions": [
{
"ipAddress": "183.220.92.41/32",
"action": "Allow",
"tag": "Default",
"priority": 200,
"name": "111111"
},
{
"ipAddress": "Any",
"action": "Deny",
"priority": 2147483647,
"name": "Deny all",
"description": "Deny all access"
}
]
}
}

特别注意:以上JSON内容为覆盖模式,如果需要在以前的数据中新添加,需要在Body中包含之前的数据。否则,PATCH操作完成后,就只会剩下Body中的信数据。

示例截图

参考资料

Web Apps - Get Configurationhttps://learn.microsoft.com/zh-cn/rest/api/appservice/web-apps/get-configuration

Web Apps - Update Configurationhttps://learn.microsoft.com/zh-cn/rest/api/appservice/web-apps/update-configuration

【Azure 应用服务】调用Azure REST API来获取 App Service的访问限制信息(Access Restrictions)以及修改的更多相关文章

  1. 【Azure 应用服务】Azure Function HTTP 触发后, 230秒就超时。而其他方式触发的Function, 执行5分钟后也超时,如何调整超时时间?

    问题描述 Azure Function HTTP 触发后, 230秒就超时,而其他方式触发的Function, 执行5分钟后也超时,如何调整超时时间? 问题分析 查阅官方文档,对函数应用超时持续时间有 ...

  2. 【Azure 应用服务】Azure App Service 自带 FTP服务

    问题描述 Azure PaaS服务是否有FTP/S服务呢? 回答问题 应用服务(Web App/App Service)在创建时候,默认创建了FTP服务并自动开启,用于应用部署.但它不是适合作为FTP ...

  3. 【Azure 应用服务】Azure Function集成虚拟网络,设置被同在虚拟网络中的Storage Account触发,遇见Function无法触发的问题

    一切为了安全,所有的云上资源如支持内网资源访问,则都可以加入虚拟网络 问题描述 使用Azure Function处理Storage Account中Blob 新增,更新,删除等情况.Storage A ...

  4. 【Azure 应用服务】Azure Mobile App (NodeJS) 的服务端部署在App Service for Windows中出现404 Not Found -- The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

    问题描述 使用NodeJS的后端应用,开发一个Mobile App的服务端,手机端通过REST API来访问获取后端数据.在本地编译好后,通过npm start启动项目,访问效果如下: 但是,当把项目 ...

  5. 【Azure 应用服务】Azure Function App 执行PowerShell指令[Get-Azsubscription -TenantId $tenantID -DefaultProfile $cxt]错误

    问题描述 使用PowerShell脚本执行获取Azure订阅列表的指令(Get-Azsubscription -TenantId $tenantID -DefaultProfile $cxt).在本地 ...

  6. 【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https

    问题描述 在上篇博文"[Azure 应用服务]App Service for Linux 中实现 WebSocket 功能 (Python SocketIO)"中,实现了通过 HT ...

  7. 【Azure 应用服务】Azure Function 启用 Managed Identity后, Powershell Funciton出现 ERROR: ManagedIdentityCredential authentication failed

    问题描述 编写Powershell Function,登录到China Azure并获取Azure AD User信息,但是发现遇见了 [Error] ERROR: ManagedIdentityCr ...

  8. 【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞

    问题背景 什么是TCP timestamps(TCP 时间戳)? The remote host implements TCP Timestamps, as defined by RFC1323 (h ...

  9. 【Azure 应用程序见解】 Application Insights 对App Service的支持问题

    问题描述 Web App 发布后, Application Insights 收集不到数据了 问题分析 在应用服务(App Service)中收集应用的监控数据(如Request,Exception, ...

  10. 获取APP应用的包名信息

    语言: python 3.7 需求:获取APP的包名和程序入口信息,以便在 Appium 脚本中配置 appPackage 和 appActivity 参数. 场景一 资源:已有APP应用的apk安装 ...

随机推荐

  1. [译]深入了解现代web浏览器(一)

    本文是根据Mariko Kosaka在谷歌开发者网站上的系列文章https://developer.chrome.com/blog/inside-browser-part1/ 翻译而来,共有四篇,该篇 ...

  2. 【K哥爬虫普法】不要沾边!涉案 7k 合判 6 年!

    我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了"K哥爬虫普法"专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识, ...

  3. P7036 [NWRRC2016] Folding

    题目简述 有两个矩形,大小分别是 \(W \times Y\) 和 $ w \times y$.现在我们要通过折叠将两个矩阵变成一样. 思路 part1 已知一条边折叠一次会变成 \(\frac{x} ...

  4. 安装Visual Studio的详细流程

      本文介绍Visual Studio 2022软件Community(社区版)的下载.安装.运行与使用方法.   首先需要提一句,本文介绍的是Visual Studio 2022软件的下载:而其它版 ...

  5. C#对象属性浅拷贝和深拷贝

    对象属性和字段拷贝的几种方式 微软提供了浅拷贝 对于值类型,修改拷贝的值不会影响源对象 对于引用类型,修改拷贝后的值会影响源对象,但string特殊,它会拷贝一个副本,互相不会影响 自己实现深拷贝,我 ...

  6. MongoDB 选型介绍

    什么是 MongoDB 前言 MongoDB 的主要特性 MongoDB 对比关系型数据库 MySQL 什么时候考虑 MongoDB 参考 什么是 MongoDB 前言 MongoDB 是一个开源.高 ...

  7. 第二届数字化经济与管理科学国际学术会议(CDEMS 2024)

    [经济&管理|录用率高]第二届数字化经济与管理科学国际学术会议(CDEMS 2024) 2024 2nd International Conference on Digital Economy ...

  8. 深入浅出Java多线程(一):进程与线程

    引言 大家好,我是你们的老伙计秀才. 在计算机系统的发展历程中,早期的计算机操作模式十分单一和低效.用户只能逐条输入指令,而计算机则按照接收指令的顺序逐一执行,一旦用户停止输入或进行思考,计算机会处于 ...

  9. SqlSugar分页查询

    同步分页  int pagenumber= 1; // pagenumber是从1开始的不是从零开始的  int pageSize = 20;  int totalCount=0;  //单表分页   ...

  10. SqlSugar更新数据

    1.根据实体对象更新 所谓按实体对象更新就是:db.Updateable(参数对象) 有参数的重载 db.Updateable(实体或者集合).ExecuteCommand() //右标题1 下面的所 ...