保护应用服务应用

已完成

Azure 应用服务提供内置的身份验证和授权支持。 可以通过在 Web 应用、API 和移动后端以及 Azure Functions 应用中编写最少的代码或无需编写代码来登录用户和访问数据。

安全身份验证和授权需要对联合身份验证、加密、JSON Web 令牌 (JWT) 管理、授权类型等安全性方面有深度的了解。 应用服务提供这些实用工具,让你将更多的时间和精力花费在为客户提供业务价值上。

注意

无需使用 Azure 应用服务进行身份验证和授权。 许多 Web 框架绑定了安全功能,你可以使用首选服务。

有关应用服务的应用安全性的注意事项

让我们来详细了解应用服务如何帮助你为应用提供安全性。

  • Azure 应用服务中的身份验证和授权安全模块在与应用程序代码相同的环境中运行,但需单独运行。

  • 安全模块是使用应用设置配置的。 不需要任何 SDK、特定语言,或者对应用程序代码进行更改。

  • 启用安全模块时,每个传入的 HTTP 请求都会在应用程序代码处理之前通过该模块。

  • 安全模块处理应用的多个任务:

    • 使用指定的提供程序对用户进行身份验证
    • 验证、存储和刷新令牌
    • 管理经过身份验证的会话
    • 将标识信息注入请求头

使用应用服务实现应用安全时要的注意事项

通过在 Azure 门户中选择功能,在应用服务中配置身份验证和授权安全性。 查看以下选项,并考虑哪些安全性可以使应用服务应用实现受益。

  • 允许匿名请求(无操作)。 将对未经身份验证的流量的授权交给应用程序代码处理。 对于经过身份验证的请求,应用服务还会在 HTTP 标头中一起传递身份验证信息。 使用此功能可以更灵活地处理匿名请求。 使用此功能,可以向用户显示多个登录提供程序。

  • 仅允许经过身份验证的请求。 将所有匿名请求重定向到所选提供程序的 /.auth/login/<provider>。 该功能等效于使用 <提供程序> 登录。 如果匿名请求来自本机移动应用,则返回的响应为 HTTP 401 Unauthorized 消息。 使用此功能时,不需要在应用中编写任何身份验证代码。

    重要

    此功能会限制对应用的所有调用的访问。 如果你的应用需要公共主页,则限制对所有调用的访问可能是不可取的,就像许多单页应用一样。

  • 日志记录和跟踪。 直接在日志文件中查看身份验证和授权跟踪。 如果出现意外的身份验证错误,查看现有的应用程序日志即可方便找到所有详细信息。 如果启用失败请求跟踪,则可以准确查看安全模块如何参与失败的请求。 在跟踪日志中,找到对名为 EasyAuthModule_32/64 的模块的引用。