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

简介: 【Azure 应用服务】调用Azure REST API来获取 App Service的访问限制信息(Access Restrictions)以及修改

问题描述

昨天的博文中(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

目录
打赏
0
1
1
0
203
分享
相关文章
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
48 8
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?Web App Linux 默认使用的 Nginx 版本是由平台预定义的,无法更改这个版本。
144 77
【Azure App Service】App Service 如何配置私网域名以及证书呢?
本文解答了关于 Azure App Service 如何配置私网域名及证书的问题。App Service 不支持私网域名,自定义域名需配置在公共 DNS 服务器上。文章引用官方文档详细说明了映射自定义 DNS 的步骤,并附带参考资料链接,帮助用户深入了解相关配置方法。
【Azure Storage Account】利用App Service作为反向代理后续 ---- 隐藏 SAS Token
本文介绍了如何通过App Service作为反向代理,将SAS Token追加到请求URL中,以避免直接在代码或配置文件中存储SAS Token带来的安全性和维护问题。具体步骤包括修改App Service的web.config Rewrite规则,将SAS Token添加到转发的URL中;并在.NET SDK中仅使用不包含SAS Token的Uri进行Blob操作。这样既提高了安全性,也简化了SAS Token的管理。
43 16
【Azure App Service】App Service 是否支持HostName SNI 证书?
App Service 支持 HostName SNI 证书。为自定义域名添加 SSL 证书时,可以选择 SNI SSL 和基于 IP 的 SSL。SNI SSL 允许多个 TLS/SSL 证书保护同一 IP 地址上的多个域,适用于大多数现代浏览器。配置方法是在添加自定义域名后,点击 Add binding 配置 SNI SSL。参考文档:[Azure 官方文档](https://docs.azure.cn/zh-cn/app-service/configure-ssl-bindings#add-the-binding)。
|
3月前
|
【Azure App Service】对App Service中CPU指标数据中系统占用部分(System CPU)的解释
在Azure App Service中,CPU占比可在App Service Plan级别查看整个实例的资源使用情况。具体应用中仅能查看CPU时间,需通过公式【CPU Time / (CPU核数 * 60)】估算占比。CPU百分比适用于可横向扩展的计划(Basic、Standard、Premium),而CPU时间适用于Free或Shared计划。然而,CPU Percentage包含所有应用及系统占用的CPU,高CPU指标可能由系统而非应用请求引起。详细分析每个进程的CPU占用需抓取Windows Performance Trace数据。
108 40
【Azure Storage Account】利用App Service作为反向代理, 并使用.NET Storage Account SDK实现上传/下载操作
本文介绍了如何在Azure上使用App Service作为反向代理,以自定义域名访问Storage Account。主要内容包括: 1. **设置反向代理**:通过配置`applicationhost.xdt`和`web.config`文件,启用IIS代理功能并设置重写规则。 2. **验证访问**:测试原生URL和自定义域名的访问效果,确保两者均可正常访问Storage Account。 3. **.NET SDK连接**:使用共享访问签名(SAS URL)初始化BlobServiceClient对象,实现通过自定义域名访问存储服务。
|
5月前
|
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
80 11
【Azure Bot Service】部署NodeJS ChatBot代码到App Service中无法自动启动
2024-11-12T12:22:40.366223350Z Error: Cannot find module 'dotenv' 2024-11-12T12:40:12.538120729Z Error: Cannot find module 'restify' 2024-11-12T12:48:13.348529900Z Error: Cannot find module 'lodash'
73 11
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install

热门文章

最新文章