你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:向 Azure 应用服务上运行的 Web 应用添加应用身份验证

注意

从 2024 年 6 月 1 日开始,所有新创建的应用服务应用都可以选择生成唯一的默认主机名,命名约定为 <app-name>-<random-hash>.<region>.azurewebsites.net。 现有应用名称将保持不变。

示例: myapp-ds27dh7271aah175.westus-01.azurewebsites.net

有关更多详细信息,请参阅应用服务资源的唯一默认主机名

了解如何为 Azure 应用服务上运行的 Web 应用启用身份验证,并仅限组织中的用户访问应用。

在本教程中,你将了解:

  • 为 Web 应用配置身份验证。
  • 通过将 Microsoft Entra 用作标识提供者,限制仅组织内部的用户可访问 Web 应用。

应用服务提供的自动身份验证

应用服务提供内置的身份验证和授权支持,因此无需在 Web 应用中编写代码,就能让用户登录。 使用可选的应用服务身份验证/授权模块可简化应用的身份验证和授权。 当你准备好进行自定义身份验证和授权时,就可以在此体系结构的基础上进行构建。

应用服务身份验证提供以下功能:

  • 通过 Azure 门户和应用设置轻松打开和配置。
  • 不需要任何 SDK、特定语言,或者对应用程序代码进行更改。
  • 支持多个标识提供者:
    • Microsoft Entra
    • Microsoft 帐户
    • Facebook
    • Google
    • X

启用身份验证/授权模块后,每个传入的 HTTP 请求将通过此模块,然后由应用代码处理。若要了解详细信息,请参阅 Azure 应用服务中的身份验证和授权

1.先决条件

如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户

2. 在应用服务上创建并发布一个 Web 应用

对于本教程,你需要一个部署到应用服务的 Web 应用。 可使用现有的 Web 应用,也可按照其中一个快速入门创建新的 Web 应用并将其发布到应用服务:

无论是使用现有的 Web 应用还是创建新的 Web 应用,都请注意以下几项:

  • Web 应用名称。
  • Web 应用部署到的资源组。

在本教程中,需要用到这些名称。

3. 配置身份验证和授权

现已在应用服务上运行了一个 Web 应用,请启用身份验证和授权。 将 Microsoft Entra 用作标识提供者。 有关详细信息,请参阅为应用服务应用程序配置 Microsoft Entra 身份验证

  1. Azure 门户菜单上,选择“资源组”,或在任意页面中搜索并选择“资源组” 。

  2. 在“资源组”中,查找并选择资源组。 在“概述”中,选择应用的管理页。

    显示如何选择应用的管理页面的屏幕截图。

  3. 在应用程序的左侧菜单中,选择“身份验证”,然后选择“添加标识提供者”

  4. 在“添加标识提供者”页上,选择“Microsoft”作为“标识提供者”以登录 Microsoft 和 Microsoft Entra 标识。

  5. 对于“租户类型”,为员工和商务客人选择“工作人员配置(当前租户)”

  6. 对于“应用注册”>“应用注册类型”,选择“创建新应用注册”以在 Microsoft Entra 中创建新的应用注册

  7. 输入应用程序的显示名称。 应用程序的用户在使用应用时(例如,在登录过程中)可能会看到显示名称。

  8. 对于“应用注册”>“支持的帐户类型”,选择“当前单租户租户”,以便只有组织中的用户才能登录 Web 应用。

  9. 在“其他检查”部分中,选择

    • 对于“客户端应用程序要求”,选择“仅允许来自此应用程序本身的请求”
    • 对于“标识要求”,选择“允许来自任何标识的请求”
    • 对于“租户要求”,选择“仅允许来自颁发者租户的请求”
  10. 在“应用服务身份验证设置”部分中,

    • 对于“身份验证”,设置“要求进行身份验证”
    • 对于“未经身份验证的请求”,设置“找到 HTTP 302 重定向:建议用于网站”
    • “令牌存储”框
  11. 在“添加标识提供者”页的底部,选择“添加”为 Web 应用启用身份验证。

    显示配置身份验证的屏幕截图。

    现在,你有一个受应用服务身份验证和授权保护的应用。

    注意

    若要允许来自其他租户的帐户,请从“身份验证”边栏选项卡编辑“标识提供者”,将“颁发者 URL”更改为“https://login.microsoftonline.com/common/v2.0”。

4. 验证对 Web 应用的受限访问

在上一部分启用应用服务身份验证/授权模块后,在工作人员或外部租户中创建了一个应用注册。 应用注册具有在上一步创建的显示名称。

  1. 如需查看设置,至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。 如果选择了外部配置,请使用顶部菜单中的“设置”图标从“目录 + 订阅”菜单切换到 Web 应用的外部租户。 在正确的租户中时:

  2. 浏览到“标识”>“应用程序”>“应用注册”,并从菜单中选择“应用程序”>“应用注册”

  3. 选择已创建的应用注册。

  4. 在“概述”中,验证“支持的帐户类型”是否设置为“仅限我的组织” 。

  5. 要验证对应用的访问是否仅限于组织内的用户,请转到 Web 应用“概述”并选择“默认域”链接。 或者,在隐身或专用模式下启动浏览器并转到 https://<app-name>.azurewebsites.net(请参阅顶部的备注)。

    显示如何验证访问权限的屏幕截图。

  6. 系统应该会将你定向到安全的登录页面,以验证未经身份验证的用户是否无法访问该站点。

  7. 以组织中用户的身份登录,获取对站点的访问权限。 你还可以启动新的浏览器并尝试使用个人帐户登录,以验证组织外部的用户是否没有访问权限。

5.清理资源

如果你完成了本教程(包含多个部分)中的所有步骤,那么就已在资源组中创建了应用服务、应用服务托管计划和存储帐户。 你还在 Microsoft Entra ID 中创建了应用注册。 如果选择了外部配置,则可能已创建新的外部租户。 如果不再需要这些资源和应用注册,请将其删除,以免继续产生费用。

在本教程中,你将了解:

  • 删除按照本教程创建的 Azure 资源。

删除资源组

Azure 门户中,从门户菜单中选择“资源组”,然后选择包含应用服务和应用服务计划的资源组

选择“删除资源组”,删除该资源组和所有资源。

显示如何删除资源组的屏幕截图。

此命令可能需要几分钟才能运行。

删除应用注册

Microsoft Entra 管理中心内选择“应用程序”>“应用注册”。 然后,选择创建的应用程序。 显示如何选择应用注册的屏幕截图。

在应用注册概述中,选择“删除”。 显示如何删除应用注册的屏幕截图。

删除外部租户

如果创建了新的外部租户,则可以将其删除。 在 Microsoft Entra 管理中心,浏览到“标识”>“概述”>“管理租户”

选择要删除的租户,然后选择“删除”。

可能需要先完成所需的操作,然后才能删除租户。 例如,可能需要删除租户中的所有用户流和应用注册。

如果已准备好删除租户,请选择“删除”。

后续步骤

在本教程中,你将了解:

  • 为 Web 应用配置身份验证。
  • 仅限组织中的用户访问 Web 应用。