gpt4 book ai didi

azure - 如何使用 GitHub 的 API 将 Azure Web 应用程序中的 GitHub 操作 IP 地址列入白名单

转载 作者:行者123 更新时间:2023-12-02 05:55:48 24 4
gpt4 key购买 nike

我正在尝试将我的 GitHub 操作的 IP 地址列入白名单,因为目前工作流程因我的 Azure Web 应用程序的防火墙阻止来自非白名单 IP 地址的请求而失败。貌似Github提供的这个API中有一个CIDR格式的IP地址列表:https://api.github.com/meta

但是,我是 Azure 新手,不知道如何通过 Azure UI 中的 API 将如此大量的 IP 地址列入白名单。当我转到 Azure 应用程序的“网络”页面,转到“访问限制”并单击“配置访问限制”时,有一个非常好的 GUI 可以将单个 IP 地址列入白名单,但似乎没有办法要访问 API,我想知道是否有人知道我应该如何尝试从上面链接的 GitHub API 页面访问“操作”:[IP1、IP2 等],并将该 IP 数组纳入我的访问限制配置,理想情况下这应该是动态的,因为显然 Github 有时会更新此页面......

任何建议表示赞赏!提前致谢。

最佳答案

为此,您需要一个脚本,并且该脚本需要以具有 RBAC 权限的用户身份运行才能对应用服务进行更改。您还需要 Powershell 和 Azure CLI。您需要 CLI 以脚本方式添加规则。

Powershell: https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.1

Azure CLI:https://learn.microsoft.com/en-us/cli/azure/install-azure-cli

az webapp 配置命令:https://learn.microsoft.com/en-us/cli/azure/webapp/config/access-restriction?view=azure-cli-latest#az_webapp_config_access_restriction_add

$priority = 200;
$json = Invoke-RestMethod -Uri "https://api.github.com/meta"
foreach($ip in $json.actions){
if($ip -like "*.*"){
az webapp config access-restriction add -g <your_resourcegroup_name> -n <your_app_name> --rule-name --action Allow --ip-address $ip --priority $priority
Write-Output "$($ip) added to rules."
$priority++
}
}

有几件事:

  1. 在此示例中优先级 = 200,您可能希望更改此设置以使允许规则位于所有现有拒绝规则之前,因此请检查您现有的优先级,我只需为此示例选择一个数字。

  2. 替换为您的资源组和应用名称。

脚本非常简单。需要明确的是,if($ip -like "*.*") 部分只是清除不需要的 IPv6 地址。

显然,您必须根据您的设置在此处填写一些空白,但我希望这有助于您朝着正确的方向前进。

关于azure - 如何使用 GitHub 的 API 将 Azure Web 应用程序中的 GitHub 操作 IP 地址列入白名单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68011051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com