应用之间的 Azure Web 应用访问限制

     2023-02-19     248

关键词:

【中文标题】应用之间的 Azure Web 应用访问限制【英文标题】:Azure web app access restrictions between Apps 【发布时间】:2021-11-27 02:22:43 【问题描述】:

我在同一个 Azure 区域中有 2 个应用服务计划,每个服务计划运行 1 个应用 - 一个在 Web 前端,另一个在 API。

我想对 API 使用访问限制,只允许从前端应用访问。

我使用与前端应用关联的所有传出 IP 地址设置访问限制规则(我注意到这些与 API 应用上的传出 IP 地址完全相同)但是当前端应用尝试联系 API 时我收到一个错误:

403 disabled '您尝试访问的网络应用已阻止您的访问。'

访问限制解除后,两个应用可以正常通信。

【问题讨论】:

为什么不在 API 上实施 CORS 政策? 【参考方案1】:

我打开了诊断设置并运行了关于应用程序阻止 IP 的查询。

原来 FE 应用使用的是 IPv6 地址,而不是应用属性中列出的 v4 地址。

这是因为应用设置了 vnet 集成,连接到委派给 Webservice/serverfarm 的子网。

Azure 并未明确表明使用委派子网会强制集成应用使用 IPv6,而且似乎没有办法发现可能正在使用的 v6 地址。 MS 论坛响应建议附加到委派子网的 Web 应用程序的任何防火墙规则都应允许所有 IPv6 地址 (!!) 作为解决问题的一种方式。

https://docs.microsoft.com/en-us/answers/questions/493483/why-is-my-azure-web-app-showing-an-ipv6-outbound-i.html

【讨论】:

【参考方案2】:

您可以通过使用区域 VNet 集成和虚拟网络 NAT 网关来控制来自 FE Web 应用程序的出站流量的 IP 地址,以通过静态公共 IP 地址引导流量。 StandardPremiumPremiumV2PremiumV3 应用服务计划提供区域 VNet 集成。要了解有关此设置的更多信息,请参阅 NAT gateway integration。

一旦您的 FE 网络应用拥有静态 IP,您就可以在 ALLOW 规则中的 API 网络应用限制中使用该 IP。

【讨论】:

谢谢,我会试试的。我不确定为什么这与允许来自与应用服务计划关联的所有 IP 地址的流量不同?【参考方案3】:

如果满足您的要求,您还可以利用服务端点。 使用服务端点,确保您的 API 应用程序的入站流量仅来自您的前端 Web 应用程序使用的子网。

通过此路由,您需要将 VNet 集成与您的前端应用程序和服务端点与您的 API 应用程序一起使用。在前端应用程序使用的集成子网上设置服务端点。此解决方案设置快速且简单。

-此功能与 IP 访问限制一起使用。服务端点与远程调试不兼容。您需要考虑一些事项,您可以查看它们here 以及应用服务和相关场景中可用的其他网络功能组合。

附注:

-基于 IP 的访问限制规则仅在您的应用位于应用服务环境中时处理虚拟网络地址范围。如果您的应用在多租户服务中,您需要使用服务端点来限制流量以选择虚拟网络中的子网。

-在应用服务上,您可以在同一个应用服务计划 (ASP) 中拥有这两个单独的应用,因为您只需为 ASP 付费,从而节省成本。 因此,只要计划有足够的资源来处理负载,您就可以继续将应用程序添加到现有计划中。同一应用服务计划中的应用都共享相同的计算资源。

【讨论】:

只是好奇,API 管理和订阅密钥的使用会处理这个用例吗?如果没有订阅密钥,其他应用程序无法调用 API 应用程序。我知道这会增加整体解决方案的成本。

限制 Azure 应用服务自定义域访问特定租户

】限制Azure应用服务自定义域访问特定租户【英文标题】:RestrictazureappserviceCustomdomainaccesstospecifictenant【发布时间】:2021-11-2914:48:28【问题描述】:我正在开发托管在azureapp服务上的多租户Web应用程序。它有两部分,一是后端服... 查看详情

静态 Web 应用的 Azure 前门 WAF ip 限制

】静态Web应用的Azure前门WAFip限制【英文标题】:AzureFrontDoorWAFiprestrictionsforstaticwebapps【发布时间】:2021-12-3005:49:42【问题描述】:我一直在尝试针对Azure静态Web应用的IP限制实施AzureFrontDoor自定义规则。到目前为止,我有:将静态... 查看详情

Azure Front Door、应用服务访问限制和 AD 身份验证

】AzureFrontDoor、应用服务访问限制和AD身份验证【英文标题】:AzureFrontDoor,AppServiceaccessrestrictionsandADauthentication【发布时间】:2021-07-0113:23:32【问题描述】:`大家好,我正在使用AzureFrontDoor,这是一个通过AzureAD进行身份验证的应... 查看详情

限制 Azure 应用程序访问 OneDrive 中的特定文件夹

】限制Azure应用程序访问OneDrive中的特定文件夹【英文标题】:RestrictAzureApplicationaccesstoaspecificfolderinOneDrive【发布时间】:2021-02-0810:30:14【问题描述】:我们需要通过Django应用将文件上传到OneDriveforBusiness中的单个文件夹并从中读... 查看详情

带有服务标签的 Azure 应用服务访问限制不起作用

】带有服务标签的Azure应用服务访问限制不起作用【英文标题】:AzureAppServiceaccessrestrictionswithservicetagnotworking【发布时间】:2021-12-1314:49:07【问题描述】:我想将对我的一项应用服务的访问限制为AzureAPI管理。为了独立于单个IP,... 查看详情

尝试使用 Azure CLI 创建 Web 应用时出现限制错误

】尝试使用AzureCLI创建Web应用时出现限制错误【英文标题】:ThrottlingerrorwhentryingtocreatewebappusingAzureCLI【发布时间】:2022-01-1701:48:17【问题描述】:使用AzureCLI命令:azappserviceplancreate我们看到了错误信息:“订阅的应用服务计划操... 查看详情

在访问 Web 应用程序之前忽略对 Azure 应用服务的请求

】在访问Web应用程序之前忽略对Azure应用服务的请求【英文标题】:IgnorerequeststoAzureAppServicebeforehittingthewebapplication【发布时间】:2020-04-1304:55:21【问题描述】:我有一个作为Azure应用服务运行的ASP.NETMVC应用程序。mydomain.com/api/*中... 查看详情

限制从 Azure 函数子网访问存储帐户

...间】:2020-06-0123:53:11【问题描述】:我有一个托管在(S1)应用服务计划上的azure函数。Azure函数已集成到VNet子网。此子网启用了Microsoft.Storage和Microsoft.Web服务端点,并且它被委派给Microsoft.Web/s 查看详情

使用 Azure Ad 中的服务应用程序限制对组或个人邮箱的访问

】使用AzureAd中的服务应用程序限制对组或个人邮箱的访问【英文标题】:LimitaccesstogroupsorindividualmailboxesusingaserviceapplicationinAzureAd【发布时间】:2016-09-1910:05:43【问题描述】:我有一个Azure集成服务应用程序(守护程序应用程序... 查看详情

Azure - 安全 API 应用程序,因此只有逻辑应用程序和 Web 应用程序可以访问

】Azure-安全API应用程序,因此只有逻辑应用程序和Web应用程序可以访问【英文标题】:Azure-SecureAPIAppsoonlyaccessibletoLogicAppsandWebApps【发布时间】:2016-10-1817:01:54【问题描述】:我有一个已部署到Azure的API应用程序,但希望它受到保... 查看详情

Azure 应用服务>网络>访问限制和处理来自 API 管理的 308 重定向

】Azure应用服务>网络>访问限制和处理来自API管理的308重定向【英文标题】:AzureAppService>Networking>AccessRestrictions&handling308redirectsfromAPIManagement【发布时间】:2021-05-3007:17:09【问题描述】:只是想看看是否有任何Azure应用... 查看详情

限制对 Azure Key Vault 的访问

...相当受限访问权限的Azure密钥保管库(我们的一个或两个应用程序)。我已经通过Azure门户创建了KeyVault,但是当我查看访问控制部分时,我发现有几个应用程序和用户具有密钥保管库的参与者角色(从订阅继承),这给了他们更... 查看详情

Web 应用程序之间的 Asp.Net Core DataProtection 无法在 Azure 上运行

】Web应用程序之间的Asp.NetCoreDataProtection无法在Azure上运行【英文标题】:Asp.NetCoreDataProtectionbetweenWebAppsnotworkingonAzure【发布时间】:2019-07-1210:45:41【问题描述】:我有两个在Azure上运行免费层服务计划的WebApp。有一种情况,我从We... 查看详情

如何使用 websockets 在我的 Azure 应用服务 Web 应用和本地控制台应用之间建立连接?

】如何使用websockets在我的Azure应用服务Web应用和本地控制台应用之间建立连接?【英文标题】:HowdoIestablishaconnectionbetweenmyAzureAppServiceWebAppandlocalconsoleappusingwebsockets?【发布时间】:2020-08-1917:03:05【问题描述】:我有一个作为应用... 查看详情

在 AAD 保护的 Azure Web 应用程序中检索访问令牌

】在AAD保护的AzureWeb应用程序中检索访问令牌【英文标题】:RetrieveAccessTokenwithinaAADsecuredAzureWebApp【发布时间】:2017-08-2215:15:37【问题描述】:我有一个托管在AzureWeb应用程序中的Angular4应用程序和一个托管在AzureAPI应用程序中的.N... 查看详情

批量邀请人们加入 Azure 静态 Web 应用

】批量邀请人们加入Azure静态Web应用【英文标题】:BulkinvitepeopletoanAzurestaticwebapp【发布时间】:2021-12-2805:38:46【问题描述】:我花了很多时间试图找到向我们的Azure静态Web应用程序添加身份验证的最佳方法。最终我们选择了最简... 查看详情

如何使用托管在本地 IIS 上的 Web 应用从 Azure 密钥保管库访问 web.config 中的应用设置和连接字符串等机密

】如何使用托管在本地IIS上的Web应用从Azure密钥保管库访问web.config中的应用设置和连接字符串等机密【英文标题】:Howcanaccesssecretslikeapp-settingsandconnection-stringsinweb.config,fromAzurekeyVaultusingaWeb-apphostedaton-premiseIIS【发布时间】:2021-1... 查看详情

访问我的 React Web 应用程序的 Azure SQL 数据库

】访问我的ReactWeb应用程序的AzureSQL数据库【英文标题】:AccessingAzureSQLdatabaseformyreactwebapplication【发布时间】:2021-12-2821:49:28【问题描述】:我已经部署了一个带有SQL数据库的AzureWeb应用程序。对于前端,我使用ReactJS。我已经使... 查看详情