【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处。

image

在找到对于的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:无

示例截图

image

没有Token的效果图:

image

Token过期效果图:

image

仅仅更新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中的信数据。

示例截图

image

参考资料

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 应用服务】

标签: App Service Access Restrictions, Web Apps - Get Configuration, Web Apps - Update Configuration

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容