使用基于标准的开发方法

作为开发人员,你可以充分利用由 Microsoft 身份验证库 (MSAL) 扩充的软件开发行业标准。 本文概述了受支持的标准(OAuth 2.0、OpenID Connect、SAML、WS 联合身份验证和 SCIM),以及将它们与 MSAL 和 Microsoft 标识平台配合使用的优势。 确保云应用程序满足零信任要求,以获得最佳安全性。

协议呢?

在实现协议时,请考虑包括编写完全符合最新的最佳做法且符合 OAuth 2.0 的安全实现最佳做法的代码所需时间的成本。 相反,我们建议在直接生成到 Microsoft Entra ID 或 Microsoft 标识时使用维护良好的库(包含 MSAL 的首选项)。

我们优化 MSAL 以生成和使用 Microsoft Entra ID。 如果环境尚未实现 MSAL 或在自己的库中解锁了某些功能,请使用 Microsoft 标识平台开发应用程序。 基于 OAuth 2.0 功能和 OpenID Connect 生成。 考虑正确回退到协议的成本。

Microsoft 标识平台如何支持标准

为了最高效、最有效地实现零信任,请使用 Microsoft 标识平台支持的行业标准开发应用程序:

OAuth 2.0 和 OpenID Connect

作为授权的行业协议,OAuth 2.0 允许用户授予对受保护资源的有限访问权限。 OAuth 2.0 与超文本传输协议 (HTTP) 配合使用以将客户端的角色与资源所有者分开。 客户端使用令牌来访问资源服务器上受保护的资源。

OpenID Connect 构造允许 Microsoft Entra 扩展以增强安全性。 这些 Microsoft Entra 扩展最常见:

  • 条件访问身份验证上下文允许应用程序应用具体策略以保护敏感数据和操作,而不仅仅是在应用程序级别。
  • 利用连续访问评估 (CAE),Microsoft Entra 应用程序可以订阅严重事件,用于评估和强制实施。 CAE 包括风险事件评估,例如已禁用或删除的用户帐户、密码更改、令牌吊销和检测到的用户。

当应用程序使用增强的安全性(例如 CAE 和条件访问身份验证上下文)时,它们必须包括代码才能管理声明质询。 通过开放协议,可使用声明质询和声明请求来调用其他客户端功能。 例如,指示应用由于异常而需要重复与 Microsoft Entra ID 的交互。 另一种情况是,用户不再满足此前进行身份验证时的条件。 你可以编写这些扩展的代码,而不干扰主要身份验证代码流。

安全断言标记语言 (SAML)

Microsoft 标识平台使用 SAML 2.0,使零信任应用程序能够提供单一登录 (SSO) 用户体验。 Microsoft Entra ID 中的单一登录和单一退出登录 SAML 配置文件解释了标识提供者服务如何使用 SAML 断言、协议和绑定。 SAML 协议要求标识提供者(Microsoft 标识平台)与服务提供方(应用程序)交换有关自身的信息。 使用 Microsoft Entra ID 注册零信任应用程序时,将使用 Microsoft Entra ID 注册联合身份验证相关信息,包括应用程序的重定向 URI 和元数据 URI。

MSAL 在协议上的优势

Microsoft 针对 Microsoft 标识平台优化 MSAL,并提供 SSO、令牌缓存和中断复原方面的最佳体验。 随着 MSAL 的正式发布,我们将继续扩展语言和框架的覆盖面。

使用 MSAL,可为多种应用程序类型获取令牌,包括 Web 应用程序、Web API、单页应用、移动和本机应用程序、守护程序,以及服务器端应用程序。 MSAL 支持快速简单的集成,并可通过 Microsoft Graph 和 API 安全地访问用户和数据。 借助一流的身份验证库,可以到达任何受众并遵循 Microsoft 安全开发生命周期。

后续步骤