将访问Azure Web App限制为仅对我的Web作业?

时间:2018-08-03 19:12:41

标签: azure-web-sites azure-webjobs

我试图将对我的azure Web应用程序的访问限制为仅对我的Web作业之一。 我可以使用 IP限制来实现这一点。

1 个答案:

答案 0 :(得分:0)

要实现这种限制,出于以下原因,基于IP的限制将不可用

  • 可能还有其他应用程序(在上述标准计划的情况下为您拥有,在免费/共享飞机的情况下为其他客户应用程序)将在同一服务器上运行,并且这些应用程序也可以访问您的Web应用程序。
  • 您的Web作业没有固定的出站IP,因为它可能转移到其他实例(如果您的应用中有多个实例)

一个针对您原始问题的快速简便的解决方案是:

  1. 在您的Web应用程序端实施BASIC Auth(用户名/密码)或Bearer令牌Auth。
  2. 从Web作业(在Invoke-WebRequest中)根据您选择的身份验证模式传递用户名/密码或身份验证令牌。

以下是少量链接,其中讨论了为Azure Web Apps实现基本身份验证以及如何通过PowerShell调用此类应用程序:

  1. 如何使用脚本(Invoke-WebRequest -Uri)将参数传递给页面     Use Invoke-WebRequest with a username and password for basic authentication on the GitHub API

  2. 如何在Web App中使用C#代码对请求参数进行身份验证
        https://docs.microsoft.com/en-us/rest/api/datacatalog/authenticate-a-client-app

由于具有基本身份验证,所以凭据以纯文本形式传递并且可以轻松地解码,因此我们建议Web作业通过SSL调用WebApp URL。另外,基本身份验证是最简单的身份验证机制之一,您可能还想探索其他更复杂的身份验证方案。