仅授权azure webapp的特定用户

时间:2018-04-15 12:44:42

标签: azure azure-web-sites azure-authentication

我在azure上拥有一个私人网络应用程序,我希望它只能由特定用户访问,这些用户可以使用任何身份验证提供程序登录,例如Google,Azure AD的Facebook。 如何才能将其作为预定义用户的私有应用程序?
目前我选择的解决方案:

  • 对于我的webapp,将身份验证/授权部分设置为仅允许经过身份验证的用户(所有用户)
  • 维护授权用户电子邮件列表
  • 并且对于每个请求,我检查标题X-MS-CLIENT-PRINCIPAL-NAME并查看它是否是我的“预定义用户”之一。如果没有,请返回forbidden

我想正确的路径是Azure AD并且可能分配角色

1 个答案:

答案 0 :(得分:0)

您可以使用站点根目录下的web.config文件来限制特定用户。您可以查看以下示例

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <system.web>
      <authorization>
        <allow users="abc@Facebook.com, def@gmail.com"/>
        <deny users="*"/>
      </authorization>
   </system.web>
</configuration>

此外,您可以使用KUDU控制台(http://your-app-url.scm.azurewebsites.net)添加和编辑文件。

如果要使用Azure AD进行身份验证,可以按照以下步骤操作, Azure Active Directory设置刀片,您可以选择&#34;快速管理模式&#34;并创建一个新的AD应用程序来配置谁将能够访问我们的Web应用程序。 点击“保存”后,尝试通过“隐身”窗口(无会话和Cookie)访问您的网络应用,您将被重定向到登录表单。 要访问您的应用,您需要使用Azure Active Directory应用“NotPublicWebApp”中声明的帐户登录。 要管理Web应用程序中的访问权限,您需要单击将您重定向到旧门户的Active Directory服务。 在那里,您可以向Active Directory添加更多用户,而从“应用程序”选项卡,您可以管理用户对应用程序的访问权限。 有关详细信息,请参阅此文章:https://ppolyzos.com/2016/08/19/restrict-access-to-your-azure-websites-using-authenticationauthorization/