禁用 Azure 应用服务的外部 IP

Disable external IP for Azure App Service

请帮助我保护从外部访问 Azure 中的应用程序服务(Api 应用程序)。 我需要禁用外部 IP。我有应该对所有人可用的 Web 应用程序和 API 应该对 WEB 可用但对其他人不可用 的应用程序。

谢谢, 尼科拉

您无法真正禁用 WebApp 的外部 IP 地址。 您可以通过多种方式 保护 API 应用程序。

第一种方法是使用 Azure AD Bearer Token 身份验证来保护它。在此处检查此示例:https://azure.microsoft.com/en-us/documentation/articles/active-directory-devquickstarts-webapi-dotnet/

一旦受到保护,您可以在您的代码后面使用 ADAL 来获取令牌以调用 API。

然而,在这里我要提出一个问题 - 您认为您的 Web 应用程序将如何与 Web 通信 API?通过浏览器中的 JavaScript,或从代码隐藏。因为如果您从浏览器内 JavaScript 调用 Web API,那么您的问题就没有意义了!因为实际上每个用户都需要访问您的 API 才能让 JavaScript 拨打电话!

另一种方法是为您的 API 创建一个应用服务环境(对于您想要实现的目标而言成本相当高)。然后,您可以将此应用服务环境放入虚拟网络的子网中。您将您的 Web 应用程序放入另一个 Web 应用程序服务计划并将其连接到同一个虚拟网络。 然后你定义这样的网络安全组,你只允许内部访问你的应用服务环境。

最后,我真的怀疑你是否想禁用对 Web 的 Internet 访问 API。您只是想保护它,而 IP 地址过滤并不是保护 Web APIs.

的最佳方式

除了已建议的 AD 持有者令牌外,您还可以使用客户端证书或使用 HTTP 基本身份验证的简单共享密钥。