作为开发人员,你可以充分利用由 Microsoft身份验证库 (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 中的 SSO 和单点注销 SAML 配置说明了身份提供者服务如何使用 SAML 断言、协议和绑定。 SAML 协议要求标识提供者(Microsoft标识平台)和服务提供商(应用程序)交换有关自己的信息。 使用 Microsoft Entra ID 注册零信任应用程序时,您需要注册与联合相关的信息,包括应用程序的重定向 URI 和元数据 URI。
MSAL 在协议上的优势
Microsoft优化Microsoft身份平台的MSAL,并为SSO、令牌缓存和故障复原提供最佳体验。 随着 MSAL 的普遍可用,我们将继续扩展语言和框架的覆盖面。
使用 MSAL,可以获取应用程序类型的令牌,其中包括 Web 应用程序、Web API、单页应用、移动和本机应用程序、守护程序和服务器端应用程序。 MSAL 通过 Microsoft Graph 和 API 实现对用户和数据的安全访问的快速简单集成。 通过使用一流的身份验证库,您可以接触任何受众,并遵循 Microsoft 安全开发生命周期。
后续步骤
- Microsoft标识平台身份验证库 描述应用程序类型支持。
- 使用零信任原则进行开发 有助于了解零信任的指导原则,以便提高应用程序安全性。
- 在应用程序开发生命周期中使用零信任身份和访问管理开发最佳做法来创建安全应用程序。
- 使用零信任标识方法生成应用 概述了权限和访问最佳做法。
- 开发人员和管理员对应用程序注册、授权和访问权限的责任 可帮助你更好地与 IT 专业人员协作。
- API 保护 介绍了通过注册保护 API、定义权限和同意以及强制实施访问以实现零信任目标的最佳做法。
- 自定义令牌介绍了可以在 Microsoft Entra 令牌中接收的信息。 其中介绍了令牌自定义如何提高灵活性和控制,同时提高应用程序零信任安全性(最低特权)。
- 在令牌中配置组声明和应用角色 描述如何使用应用角色定义配置应用,并将安全组分配给应用角色。 此方法可提高灵活性和控制性,同时提高应用程序零信任安全性(最低特权)。