azure - 仅授权特定用户使用 azure webapp

标签 azure azure-web-app-service azure-authentication

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

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


我猜正确的路径是 Azure AD,也许还可以分配角色

最佳答案

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

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <system.web>
      <authorization>
        <allow users="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="accdcecfeceacdcfc9cec3c3c782cfc3c1" rel="noreferrer noopener nofollow">[email protected]</a>, <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="97f3f2f1d7f0faf6fefbb9f4f8fa" rel="noreferrer noopener nofollow">[email protected]</a>"/>
        <deny users="*"/>
      </authorization>
   </system.web>
</configuration>

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

如果您想使用 Azure AD 进行身份验证,可以按照以下步骤操作, Azure Active Directory 设置边栏选项卡中,您可以选择“快速管理模式”并创建新的 AD 应用程序来配置谁能够访问我们的 Web 应用程序。 单击“保存”后,尝试通过隐身窗口访问您的 Web 应用程序(无 session 和 Cookie),您将被重定向到登录表单。 要访问您的应用程序,您需要使用已在 Azure Active Directory 应用程序“NotPublicWebApp”中声明的帐户登录。 要管理 Web 应用程序中的访问权限,您需要单击 Active Directory 服务,该服务会将您重定向到旧门户。 您可以在其中向 Active Directory 添加更多用户,同时从“应用程序”选项卡中您可以管理用户对应用程序的访问。 更多信息,您可以引用这篇文章:https://ppolyzos.com/2016/08/19/restrict-access-to-your-azure-websites-using-authenticationauthorization/

关于azure - 仅授权特定用户使用 azure webapp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49842053/

相关文章:

asp.net - 使用 Azure Redis 缓存 session 状态提供程序维护跨不同域的 session

azure - 在 azure devops 中的同一组织但不同项目中共享工件的最佳方式

authentication - Azure Web 应用程序网关身份验证

python - 设备代码流 - Microsoft Azure 身份验证

python - Python azure.identity 中 AADCredentials 的替代方案

arrays - 如何在 CosmosDB 中为具有嵌套/多个数组的 JSON 文档编写 SQL 查询

azure - 有没有办法从外部或浏览器访问/获取 AKS(Azure kubernetes 服务)的应用程序日志?

azure - 将 Azure Web App 诊断日志设置添加到 ARM 模板

git - Azure 部署因 gitlab 失败

azure-active-directory - 使用 Azure Function 应用程序的登录用户验证 Dynamics 365 Web Api