教程:向 Azure 应用服务上运行的 Web 应用添加应用身份验证

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

在本教程中,你将了解:

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

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

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

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

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

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

1.先决条件

如果没有 Azure 订阅,可在开始前创建一个试用帐户

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

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

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

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

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

3. 配置身份验证和授权

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

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

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

    Screenshot that shows selecting your app's management page.

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

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

  5. 选择“租户类型”,例如,为工作和学校帐户或 Azure 帐户选择“工作人员”。

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

  7. 为应用注册添加“名称”,即面向公众的显示名称。

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

  9. 在“应用服务身份验证设置”部分中,将“身份验证”设置为“要求身份验证”,并将“未验证请求”设置为“HTTP 302 Found 重定向:建议网站选用”。

  10. 在“添加标识提供者”页的底部,单击“添加”为 Web 应用启用身份验证。

    Screenshot that shows configuring authentication.

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

    注意

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

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

在上一部分中启用应用服务身份验证/授权模块后,系统在 Microsoft Entra 租户中创建了应用注册。 应用注册的显示名称与 Web 应用的相同。

  1. 要检查设置, 请从门户菜单中选择“Microsoft Entra ID ”,然后选择“应用注册”。

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

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

  4. 若要验证只有组织中的用户才能访问应用,转到 Web 应用“概述”并选择“默认域”链接。 或者,在隐身或专用模式下启动浏览器并转到 https://<app-name>.chinacloudsites.cn

    Screenshot that shows verifying access.

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

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

5.清理资源

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

在本教程中,你将了解:

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

删除资源组

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

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

Screenshot that shows deleting the resource group.

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

删除应用注册

在门户菜单中,选择“Microsoft Entra ID > 应用注册”。 然后,选择创建的应用程序。 Screenshot that shows selecting app registration.

在应用注册概述中,选择“删除”。 Screenshot that shows deleting the app registration.

后续步骤

在本教程中,你将了解:

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